免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2686 | 回复: 8
打印 上一主题 下一主题

求助,导表 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-31 11:34 |只看该作者 |倒序浏览
数据库里面有一个大表,有2600W条数据,占用了很大的表空间,如果删除表的话,释放些表空间
但是表里面的数据还想留着,怕万一以后还要用,请问该怎么处理?
用unload from 文件,可以吗?我unload from 2次 文件的大小查了几KB

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
2 [报告]
发表于 2008-12-31 13:04 |只看该作者

回复 #1 cmcccitrix 的帖子

unload to <filename> select * from <tabname>

同时最好保存表结构...2600W数据并不算很多...

论坛徽章:
0
3 [报告]
发表于 2009-01-01 10:47 |只看该作者
同意liaosnet

如果是因为空间紧缺想靠这个表释放点空间,估计释放不了太多吧?

论坛徽章:
0
4 [报告]
发表于 2009-01-01 11:53 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2009-01-04 17:25 |只看该作者

回复 #4 czw1413_cn 的帖子

这种方法和直接drop 表的方法哪个快啊?
另外问各位大牛一个问题,如果一个数据库就一个表,这个表占了90%的表空间,那么delete这个表一部分的数据,新增的数据是占这90%的空间呢?还是占用另外10%的空间
谢谢答复

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
6 [报告]
发表于 2009-01-05 00:35 |只看该作者

回复 #5 cmcccitrix 的帖子

drop表快~~

表中的数据删除后的空间不会再插入数据......也就是数据库不自动回收这些空间..

论坛徽章:
0
7 [报告]
发表于 2009-01-05 09:18 |只看该作者

回复 #6 liaosnet 的帖子

再问一下liaosnet,表中的数据删除的空间不会再插入数据,比如说删除表A的数据,那之后插入A表的新数据,会填补之前删除A数据的空间吗?以下是我从网上搜索出来的,不知道是不是我的意思?里面有写说作为日后增加记录时使用?
Informix对数据表的管理方式较为特殊,当数据量增加时,表所占用的磁盘空间随之增加;但数据记录被删除时,原先所占用的空间暂不释放,依然由该表所控制,作为日后增加记录时使用。为提高系统的性能及有关各表的查询速度,应及时回收这种“空闲”的磁盘空间。  [华 软 网]

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
8 [报告]
发表于 2009-01-05 10:34 |只看该作者

回复 #7 cmcccitrix 的帖子

导出数据,重建表;
或者使用 czw1413_cn 4楼说的方法..
或者将表的一个索引改成cluster.  alter index <indexname> to cluster;

论坛徽章:
0
9 [报告]
发表于 2009-01-05 14:06 |只看该作者
原帖由 cmcccitrix 于 2009-1-4 17:25 发表
这种方法和直接drop 表的方法哪个快啊?
另外问各位大牛一个问题,如果一个数据库就一个表,这个表占了90%的表空间,那么delete这个表一部分的数据,新增的数据是占这90%的空间呢?还是占用另外10%的空间
...

当然占用后面的10%,嘿嘿,老老实实的按上面的方法做吧。呵呵。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP