总结了一下REORG的操作经验
当数据库里某个表中的记录变化量很大时,需要在表上做REORG操作来优化数据库性能。
值得注意的是,针对数据库对象的大量操作,如反复地删除表,存储过程,会引起系统表中数据的频繁改变,在这种情况下,也要考虑对系统表进行REORG操作。
由于DB2使用CBO作为数据库的优化器,数据库对象的状态信息对数据库使用合理的ACCESS PLAN至关重要。
一个完整的REORG表的过程应该是由下面的步骤组成的:
RUNSTATS -> REORGCHK -> REORG -> RUNSTATS -> BIND或REBIND
0 执行下面命令前要先连接数据库
1 RUNSTATS
由于在第二步中REORGCHK时可以对指定的表进行RUNSTATS操作(在REORGCHK时指定UPDATE STATISTICS),所以第一步事实上是可以省略的。
2 REORGCHK
REORGCHK命令的语法如下:
>>-REORGCHK----+----------------------------+------------------->
| .-UPDATE--. |
'--+-CURRENT-+---STATISTICS--'
>-----+---------------------------+----------------------------><
| .-USER-------. |
'-ON T