db2删除大量数据高效方法

删除大量数据高效方法:

第一种:

在D 盘建一个empty.del文件。然后通过import命令import from empty.del of del replace into [table_name]来清空表中的数据并重组表空间。

 

效率很快

第二种:

在建表时加选项not logged initially ,当清空表时通过alter table [name] activate not logged initially with empty table 。

 

注意操作效率高就关闭日志记录,通过“alter table tableName activate not logged INITIALLY”关闭日志打印,只在执行一次sql后失效

尽量避免在上线之初直接使用“ INSERT INTO … SELECT .. FROM .. ”语句,导入一个很大的事务的方式进行导数,这样会使事务非常大

 

echo "\n开始清理 table 表TBL_SWINDLE"
  db2 connect to elloc user easylink using elinkgit
  db2 +c "select count(*) from TBL_SWINDLE where flag=1";
  db2 "export to TBL_SWINDLE.del of del select * from TBL_SWINDLE";
  db2 +c "alter table TBL_SWINDLE activate not logged INITIALLY"; //关闭日志打印 只在执行一次sql后失效
  db2 +c "delete from TBL_SWINDLE where flag=1";
  db2 -v commit;
  echo "table 表清理完毕!\n"

转载于:https://www.cnblogs.com/atwanli/articles/4884674.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值