db2 我先DROP掉一张表,再重建,再LOAD数据进这张表,之后对这个表做UPDATE操作很慢,这是为啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了db2 我先DROP掉一张表,再重建,再LOAD数据进这张表,之后对这个表做UPDATE操作很慢,这是为啥相关的知识,希望对你有一定的参考价值。

可能是LOAD之后这个表的统计信息没有更新,你们可以使用REORGCHK或者RUNSTATS命令将此表的统计信息更新一下。 因为DB2执行计划的选择是根据这些统计信息,假如信息没有及时更新,就有可能将索引扫描判断成全表扫描。 参考技术A ********LOAD有风险,使用需谨慎********
我知道的原因有下面几种:
1)LOAD之后,表出现问题,更新操作没有执行
解决:使用原来的load语句,对此表进行terminate处理(你懂得),然后更新

2)表的数据量很大,update本来就很慢,而且你更新的不只是一个字段,同时又使用到关联语句
解决:咱把需要更新的字段通过select方式达到更新的要求export出来,重新load进去,实现在export时更新(肯定比update快)

3)楼主以前有过对此表类似的update操作,而且很快,那可能是服务器的性能原因。众所周知,月初和周一是系统最忙的时候,你还在数据库上做LOAD操作

4)对表和索引收集统计信息(RUNSTATS),这个是LOAD之后必须做的,也是对大表进行过更新后,必须做的

db2 有一个表中有clob字段 drop这张表可以降表空间80g 但是手动delete fro

db2 有一个表中有clob字段 drop这张表可以降表空间80g 但是手动delete from table降表空间的使用率很少。
这是为什么?应该怎么删除clob字段类型的数据?

delete 不会降低表空间使用的高水位标志,也就是你看到的使用率,但空间已经可以使用。使用truncate table 可以实现表空间使用率的降低。

Good Luck !
参考技术A drop哈哈

以上是关于db2 我先DROP掉一张表,再重建,再LOAD数据进这张表,之后对这个表做UPDATE操作很慢,这是为啥的主要内容,如果未能解决你的问题,请参考以下文章

oracle索引问题,删除再重建索引与索引分析

如何将DB2数据导入到SQLSERVER中

db2如何实现用一张表的某个字段更新另一张表的相应字段。

db2 有一个表中有clob字段 drop这张表可以降表空间80g 但是手动delete fro

关于oracle里面delete,trancate,drop的区别和用法。详细点。谢谢

Oracle表存在则删除后再重建