データ編成の維持

データが物理的に十分編成されていれば、索引または表スキャンに依存するアクセス・パスのパフォーマンスを向上させ、データに使用されるディスク・ストレージの量を減らすことができます。

このタスクについて

変更の数によっては、データが編成されていない状態になったときに、以下のタイプの操作でパフォーマンスの低下が生じることがあります。
  • 動的 SQL 照会。
  • 更新および削除。 例えば、削除操作が擬似的に削除されたインデックス項目となることがあり、それがさらなるロックの競合につながる可能性があります。 自動インデックスクリーンアップを有効にすることで、データの頻繁な再編成の必要性を減らすことができます。
  • ALTER ステートメント (特に並行実行されている場合)。
  • REORG および LOAD の並行ユーティリティー。
  • 再編成の前に多数の変更が行われた表のアンロード。

プロシージャー

データを再編成するタイミングを判別するには、以下のいずれかの方法を使用します。

  • 次の値が増加しているかどうかに関して統計をモニターします。
    • 入出力操作
    • ページ取得操作
    • プロセッサー使用量

    パフォーマンスが容認できないほど低下したときは、統計を分析して、ご使用の環境にあるデータを再編成するタイミングに関して独自の規則を作成してください。

  • DSNACCOX ストアード・プロシージャーを呼び出して、リアルタイム統計の値に基づく推奨事項を取得します。
  • カタログを照会します。
    SDSNSAMPデータセットのメンバーDSNTESPには、再編成を行うべきかどうかを判断するための有用なクエリのサンプルが含まれています
  • REORG ユーティリティーを使用します。
    REORG ユーティリティーには、カタログ照会の機能が組み込まれています。 この照会がある種の結果を戻すと (この結果については、 デフォルトを使用することも、独自のものを提供することも可能)、 その結果により、REORG は再編成を実行するか、実行しないかのいずれかを行います。 オプションとして、REORG に実際に再編成を行わせるのでなく、レポートを作成させることもできます。 以下の REORG オプションは、カタログ照会を呼び出します。
    • REORG TABLESPACE の OFFPOSLIMIT オプションと INDREFLIMIT オプション
    • REORG INDEX の LEAFDISTLIMIT オプション
  • 表定義を変更した後には、必ずデータを再編成します。
    ALTER TABLE ステートメントを使用して表に以下の変更を加えた場合、表スペースは通知 REORG ペンディング (AREO*) 状況に置かれます。
    • 列の追加
    • データ・タイプの変更
    • 列の長さの変更

    既存の列が変更される場合、表スペースは AREO* 状況になります。新しい定義への変換が即時に行われないためです。 表スペースを再編成すると、新しい定義に変換されたデータが行に再ロードされます。 表スペースが再編成されるまでは、データがアクセスされるたびに、変更を追跡して適用する必要があるため、パフォーマンスが低下する可能性があります。

  • 変更の開始LOBテーブル・スペースを再編成するタイミングについては、 LOBテーブル・スペースの再編成を参照してください。変更の終わり