db2重组表

sen*_*ior 8 db2

当我在db2中更改表时,我必须重新组织它,以便执行下一个查询:

Call Sysproc.admin_cmd ('reorg Table myTable');
Run Code Online (Sandbox Code Playgroud)

我正在搜索一个适当的解决方案,以便在更改表时重新组织表,或者在进行各种修改后重新组织所有模式

Ian*_*vde 5

您可以决定当表将需要REORG通过查看SYSIBMADM.ADMINTABINFO:

select tabschema, tabname
  from sysibmadm.admintabinfo
 where reorg_pending = 'Y' 
Run Code Online (Sandbox Code Playgroud)

您可能还想查看该NUM_REORG_REC_ALTERS列,因为这可能会显示由于各种语句而不需要重组的其他表ALTER TABLE.


Ang*_*ocA 4

重组操作类似于硬盘中的碎片整理。它释放页面中的空白空间,最终可以根据索引重新组织数据。根据功能,它创建压缩字典并压缩数据。

正如您所看到的,重组操作是一项管理任务,没有必要每次修改数据时都进行重组操作。数据库无需重组即可运行。

为了缓解这个问题,DB2 包含了自动备份等自主功能,但这并不能回答您自己的问题。这只会在需要的表上触发重组。