ユニーク索引の索引キーのセットへの列の追加

ALTER INDEX ステートメントを使用して、ユニーク索引の索引キー列のセットに列を追加することを指定できます。

このタスクについて

制限事項: Db2 カタログの IBM® で定義されたインデックスに列を追加することはできません。

データの索引のみへのアクセスを許可するためにユニーク索引に列を追加する場合、まずユニーク表の既存の索引が表の照会に使用されているかを判別する必要があります。 この情報の検索には、RUNSTATS ユーティリティー、リアルタイム統計、または EXPLAIN ステートメントが使用できます。 共通のユニーク制約を使用している索引は、統合することができます。 他の非ユニーク索引も、使用頻度によっては統合できる場合があります。

プロシージャー

ユニーク索引の索引キー列のセットに列を追加することを指定するには、次の手順で行います。

  1. INCLUDE 文節を指定して ALTER INDEX ステートメントを発行する。
    INCLUDE 文節に含まれる列は、いずれも固有性の施行には使用されません。 これらの組み込み列を使用して、索引のみのアクセスを実行することにより、 一部の照会のパフォーマンスが向上する可能性があります。 このオプションを使用すると、多くの照会でデータ・ページにアクセスする必要がなくなり、重複する索引を取り除くことができることがあります。
  2. 変更プロシージャーをコミットする。
    追加する列が事前に表に存在しているため、この変更プロシージャーの結果、索引はページ・セット再ビルド・ペンディング (PSRBD) 状況になります。
  3. 索引の PSRBD 状況を解除するには、以下のオプションのいずれかを実行します。
    • REBUILD INDEX ユーティリティーを、変更プロシージャーを実行した索引で実行する。
    • REORG TABLESPACE ユーティリティーを、変更プロシージャーを実行した索引で実行するか、または REORG TABLESPACE ユーティリティーが実行のスケジュールに入れられてから変更プロシージャーを実行する。
  4. RUNSTATS ユーティリティーを実行します。
    この結果は次のステップの後に使用されます。
  5. REBIND を静的プランおよびパッケージで実行する。
  6. EXPLAIN ステートメントを実行して、オプティマイザーが組み込み列を含む索引を選択していることを確認する。
  7. 統合され、今後必要でなくなった索引をドロップする。
  8. RUNSTATS ユーティリティー、リアルタイム統計、または EXPLAIN ステートメントを使用して、必要な照会を新しい索引が満たすことを確認する。