最適化のグループ化
DB2® for i には、最適化プログラムがグループ化に直面したときに使用するための手法があります。 Query 最適化プログラムは、その手法を選択して照会を最適化します。
- ハッシュ・グループ化の実施
この技法は標準ハッシュ・アクセス方式を使用して、選択されたテーブル行の グループ化または要約を行います。 抜粋された各行には、行で指定されたグループ値がハッシュ関数を通して実行されます。 計算されたハッシュ値とグループ値はグループ値を示しているハッシュ・テーブルの中の項目をより早く検出するために 使用されます。 - 索引のグループ化の実施
索引を使用するグループ化は、順序付けグループ化、事前要約処理という 2 つの基本的な方法で実施できます。 - グループ化列を除去することによるグループ化の最適化
すべてのグループ化列は、グループ化の列のリストから除去できるかを判別するために評価されます。等号演算子が指定された分離可能選択述部を持つこれらのグループ化列のみが、検討されます。 これにより列が単一の値だけに一致でき、固有のグループの限定に役立たないことを保証します。 - 付加グループ化列を追加することによるグループ化の最適化
グループ化列の除去の場合に用いた同じ論理を使用して 照会に付加グループ化列を追加することもできます。 追加のグループ化列を追加することは、索引がグループ化の実施に使用できるか判別しようとする場合にのみ実行されます。 - 索引スキップ・キー処理の使用によるグループ化の最適化
既存の索引を使用したキー順による使用法のアルゴリズムを使用してグループ化を行う場合、索引スキップ・キー処理を使用することができます。 これは、各グループのすべてのレコードではなく、各グループの少数のレコードを処理する配列されたグループ化の特殊なバージョンです。 - 読み取りトリガーを除去することによるグループ化の最適化
読み取りトリガーがある物理ファイルまたはテーブルが関係した照会の場合には、トリガーごとのグループが、処理ごとのグループより前に一時ファイルを必要とします。したがって、これらの照会はスローダウンします。 - セット最適化のグループ化
最適化プログラムは、照会で指定された個別のグループ化セットに対して、前述のすべてのグループ化の最適化を使用します。
親トピック: 照会の処理: 概説