11.1.4 pdrorgとの機能差
オンラインを停止する時間を確保できる場合,pdrorgで再編成をする方がよいです。理由は,pdreclaimよりpdrorgの再編成の方がデータを再配置する機能が多いためです。pdrorgを実行すると,次の図のように再配置されるため,より多くの使用中空きページ,及び使用中空きセグメントが解放されます。
ただし,pdreclaimは,pdrorgと比較して次の利点があります。
-
UAPから,ユティリティ実行中の表及びインデクスを参照,更新できます。
-
アンロードデータファイル,ワークファイルなどが不要です。
したがって,次の条件をすべて満たす場合は,pdreclaimの実行を推奨します。
-
可変長文字列の更新がない(分岐行が発生しない)。
-
繰返し列の要素数の変更がない(分岐行が発生しない)。
-
ナル値を実データ,又は実データをナル値に変更しない(分岐行が発生しない)。
-
クラスタキーインデクスを定義していない(クラスタキーを意識して配置する必要がない)。
-
LOB列,及びLOB属性の抽象データ型列がない。
-
データを削除する場合,物理的に格納位置が近いデータを一度に大量に削除する(使用中空きページとなる)。又は,SEGMENT REUSE表である。
クラスタキーインデクスを定義していないFIX属性のSEGMENT REUSE表は,pdreclaimで運用するのに最適な表となります。また,上記の条件を満たさない表でも,pdreclaimを実行することで使用中空きページの解放はされるため,使用中ページ内の空き領域サーチ処理で発生する極端な性能劣化は回避できます。これによって,毎週末にpdrorgを実行していた運用を,月末にだけ実行する運用に変えることもできます。
インデクスについては,削除したキー値を再度登録することがない場合は,pdreclaimでの運用は最適です。また,キー値の更新,削除が多い場合は,pdrorgでのインデクスの再編成をしなくても,インデクス格納用RDエリアの容量不足が発生しにくくすることができます。
pdrorg,又はpdreclaimのどちらを実行するかについては,データベース状態解析ユティリティの結果を参照して決めてください。ページ使用率が0%のページが大量にある場合はpdreclaimを実行してください。CREATE TABLEのPCTFREEで指定した値と,大きく異なるページ使用率のページが大量にある場合は,pdrorgを実行してください。