一時索引付きリストの走査および索引マージ
一時索引付きリスト走査操作は、永続基数索引で実行される索引走査操作と似ています。 これもテーブルから行をキー順に取り出すのに使用されますが、一時索引付き・リスト・オブジェクトが最初に作成される必要があります。 この操作は多くの場合、索引マージ操作と組み合わせて実行されます。ただし、一部の特殊照会およびグループ化照会では、関連付けられた索引マージ操作なしで、一時索引付きリスト走査を使用できます。
このアクセス方式は、不等号選択がある場合に使用され、既存の永続基数索引と組み合わせて使用されます。特殊索引走査または特殊索引プローブ操作が、行の固有のセットを取得するために索引に対して実行されます。次に、行が一時索引付きリストに挿入され、適切な順序付けが提供されます。
一般に、基数索引が一時リスト走査および索引マージ順序付けに適格になるには、索引は以下のように作成する必要があります。
- ORDER BY リストにない等号述部が含まれている列は、索引の最初のキーにする必要があります。
- その後に、ORDER BY リストにない不等号述部の列が続きます。等号述部列に続けて、最も選択的な述部の列が最初に来るように列を配置する必要があります。
- その後に、照会の ORDER BY 節と同じ順序で同じ ASC または DESC 属性を持つ ORDER BY 列が続きます。
- オプションとして、最後に、他の選択列、または索引専用アクセス用の他の選択された列を含めることができます。
一時ソート・リストは内部データ構造であり、 データベース・マネージャーだけが作成できます。
データ・アクセス方式 | 一時索引付きリスト走査 |
---|---|
説明 | 一時索引付きリストに関連付けられたすべてのキーを順次走査して処理します。 |
利点 |
|
考慮事項 | 単一テーブル照会の順序付け、グループ化、または特殊処理を処理するために使用されます。 |
使用される可能性が高い場合 |
|
SQL ステートメントの例 |
|
使用を示すデータベース・モニターおよびプラン・キャッシュ・レコード | QQRID 3001 (QQRCOD = ‘I7’) |
SMP 並列の使用可能化 | いいえ |
別名 | |
Visual Explain アイコン |
上の例を使用すると、最適化プログラムは、索引 INDEX1 から特殊 WORKDEPT 値の一時索引付きリストを作成することを選択しています。SALARY > 3000 の選択は、索引個別プローブに適用されています。
索引マージ:
索引マージ操作は、一時索引付きリスト走査および索引個別プローブまたは特殊索引と組み合わせて順序付けを提供するために使用されます。
順序付けされた行は、照会要求 (順序付けまたはグループ化) の一部を満たすために最適化プログラムによって使用されます。
データ・アクセス方式 | 索引マージ |
---|---|
説明 | 一時索引付きリストに関連付けられたすべてのキーを順次走査して処理します。 |
利点 |
|
考慮事項 | 単一テーブル照会の順序付け、グループ化、または特殊処理を処理するために使用されます。 |
使用される可能性が高い場合 |
|
SQL ステートメントの例 |
|
使用を示すデータベース・モニターおよびプラン・キャッシュ・レコード | QQRID 3001 (QQRCOD = ‘I7’) |
SMP 並列の使用可能化 | いいえ |
別名 | |
Visual Explain アイコン |