免费注册 查看新帖 |

Chinaunix

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

[DB2问题]一个数据量很大的表,怎样快速清空?用import?[已解决] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-22 20:57 |只看该作者 |倒序浏览
数据库版本:DB2 7.2
由于表的数据量很大,用delete删除,特别的慢。
在网上看到建议使用下面这条语句:
import from empty.del of del replace into test_table

注:empty.del 是空文件

可是这个空文件该放哪里?这个命令怎么能找到这个文件?
网上说,跟lob path有关

-----2005/03/25---再次补充

在windows里面,下面这句实现了。
import from c:\empty.txt of del replace into 目标表名

注:empty.txt 是随便建立的空文本文件就可以。

感谢各位的关注.
下面继续研究java调用这个命令。

论坛徽章:
0
2 [报告]
发表于 2005-03-22 22:05 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2005-03-23 07:17 |只看该作者

[DB2问题]一个数据量很大的表,怎样快速清空?用import?[已解决]

import from /dev/null of del replace into table

论坛徽章:
0
4 [报告]
发表于 2005-03-23 11:07 |只看该作者

[DB2问题]一个数据量很大的表,怎样快速清空?用import?[已解决]

转过来的,希望对你有用
http://www-900.ibm.com/cn/support/forum/app/tscforum/topic?tid=47273

当用DELETE TABLE命令删除整个表中数据时,该操作会逐条删除表中记录,并记入活动的交易日志。当表中数据量很大时,如果活动的交易日志不够大,就会遇到交易日志已满的错误,并回滚日志。即使活动的交易日志足够大,删除数据量很大的表的操作也会占用很多时间。用以空文件为数据文件导入(IMPORT)并替换(REPLACE)表的办法可以解决这个问题。例如

IMPORT FROM /dev/null OF DEL REPLACE INTO 目标表名

这样交易日志只会记录下该条命令,并立即释放所占的空间,而不会像删除命令一样逐条扫描记录,这就类似于DROP掉该表再创建一个完全相同只是没有数据的表一样。对于属于DMS表空间的表来说,删除命令逐条扫描记录,所占的记录空间仍标记为该表所用,而不立即释放空间,需要用REORG命令才可以释放剩余空间。用 LIST TABLESPACE SHOW DETAIL 可以对比两条命令执行后表空间中的剩余空间的大小。

用LOAD命令加REPLACE参数可以达到类似IMPORT命令加REPLACE的效果,但是由于LOAD本身不记日志,所以对于可恢复的数据库,LOAD完成后建议马上做一下联机备份的,相比之下,IMPORT命令加REPLACE操作上比较简单一些。

论坛徽章:
1
2015亚冠之西悉尼流浪者
日期:2015-05-18 14:38:40
5 [报告]
发表于 2005-03-23 12:41 |只看该作者

[DB2问题]一个数据量很大的表,怎样快速清空?用import?[已解决]

我还正想给他这篇文档哦。

论坛徽章:
0
6 [报告]
发表于 2005-03-23 12:49 |只看该作者

[DB2问题]一个数据量很大的表,怎样快速清空?用import?[已解决]

感谢:上面四位侠客的回答!
我执行下面这条语句成功,指定了空文件的绝对路径(我的环境是:win2000,DB2 7.2)
import from c:/empty.del of del replace into 目标表名  (成功)
但是下面这条却没有成功,报错说目录找不到。
IMPORT FROM /dev/null OF DEL REPLACE INTO 目标表名 (失败)
是操作系统的原因吗??

论坛徽章:
1
2015亚冠之西悉尼流浪者
日期:2015-05-18 14:38:40
7 [报告]
发表于 2005-03-23 12:54 |只看该作者

[DB2问题]一个数据量很大的表,怎样快速清空?用import?[已解决]

你不是环境是:win2000,DB2 7.2吗?/dev/null 这样写路经对吗?

论坛徽章:
0
8 [报告]
发表于 2005-03-23 13:28 |只看该作者

[DB2问题]一个数据量很大的表,怎样快速清空?用import?[已解决]

我的环境是win2000,DB2 7.2。
/dev/null 换成\dev\null也不行啊

非要用个空文件吗,有没有不用空文件的方法?
Sam_King 该用户已被删除
9 [报告]
发表于 2005-03-23 14:15 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
10 [报告]
发表于 2005-03-23 14:48 |只看该作者

[DB2问题]一个数据量很大的表,怎样快速清空?用import?[已解决]

load from a.del of del replace into table
会更快!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP