当前位置: 代码迷 >> DB2 >> [help]db2 insert into select效率的有关问题
  详细解决方案

[help]db2 insert into select效率的有关问题

热度:2830   发布时间:2013-02-26 00:00:00.0
[help]db2 insert into select效率的问题

db2 insert into select比较慢
网上看到有下面的改进方法,好像是oracle的,
/*+ append */也在db2中通用,但是nologging不行,请问有没有类似的?


SQL> alter table test nologging;

表已更改。

SQL> insert /*+ append */ into test select * from all_objects;

已创建31011行。

------解决方案--------------------------------------------------------
取消日志,速度当然会快,但显然不安全.
------解决方案--------------------------------------------------------
慢的可能性可能在select那块,你先试试select的速度.

如果不考虑数据的准确性,建议你取消表的索引,约束等内容,然后再insert into
------解决方案--------------------------------------------------------
把insert的目标表的索引,约束去掉,会快, 把 select部分创建索引,增加查询速度。

db2好像没有禁止日至的语句。
------解决方案--------------------------------------------------------
insert都是记日志的,如果想不记日志可以先导出,再load。
------解决方案--------------------------------------------------------
定义游标,然后从游标取数,load进入目标表
  相关解决方案