当我改变 db2 中的表时,我必须重新组织它 所以我执行下一个查询:
Call Sysproc.admin_cmd ('reorg Table myTable');
我正在搜索适当的解决方案,以便在更改表时重新组织表,或在进行各种修改后重新组织所有模式
答案 0 :(得分:5)
您可以通过查看SYSIBMADM.ADMINTABINFO
来确定表格何时需要REORG
:
select tabschema, tabname
from sysibmadm.admintabinfo
where reorg_pending = 'Y'
您可能还想查看NUM_REORG_REC_ALTERS
列,因为这可能会显示由于各种ALTER TABLE
语句而无法要求重组的其他表。
答案 1 :(得分:4)
重组操作类似于硬盘中的碎片整理。它释放了页面中的空白空间,最终它可以根据索引重新组织数据。根据功能,它会创建压缩字典并压缩数据。
如您所见,重组操作是一项管理任务,每次修改数据时都不需要。数据库无需重组即可运行。
为了简化这一点,DB2包含了自动备份等自主功能,但是这并没有回答你自己的问题。这只会触发需要它的表的重组。
答案 2 :(得分:0)
在db2配置中我们有:
自动重组(AUTO_REORG)=关闭
我们可以将auto_reorg设置为