db2でテーブルを変更する場合、次のクエリを実行するようにテーブルを再編成する必要があります。
Call Sysproc.admin_cmd ('reorg Table myTable');
テーブルが変更されたときにテーブルを再編成する、またはさまざまな変更を行った後にすべてのスキーマを再編成するための適切なソリューションを探しています
再編成操作は、ハードディスクのデフラグに似ています。ページ内の空きスペースを解放し、最終的にはインデックスに従ってデータを再編成できます。機能に応じて、圧縮辞書を作成し、データを圧縮します。
ご覧のとおり、再編成操作は管理タスクであり、データが変更されるたびに行う必要はありません。データベースは再編成なしで実行できます。
これを容易にするために、DB2には自動バックアップなどの自律機能が含まれていましたが、これはあなた自身の質問には答えません。これは、それを必要とするテーブルでのみ再編成をトリガーします。
_SYSIBMADM.ADMINTABINFO
_ :を見ると、テーブルにREORG
が必要になる時期を判断できます。
_select tabschema, tabname
from sysibmadm.admintabinfo
where reorg_pending = 'Y'
_
_NUM_REORG_REC_ALTERS
_列を確認することもできます。これにより、さまざまな_ALTER TABLE
_ステートメントが原因で再編成されないrequire追加のテーブルが表示される場合があります。
db2構成には、次のものがあります。
自動再編成(AUTO_REORG)= OFF
auto_reorgをonに設定できます