変更の始まり

コード化ベクトル索引 RRN プローブ

テーブル・プローブ操作は、 テーブルから行番号に基づいて特定の行を取り出すのに使用します。 行番号は、テーブルの行番号を生成する他の操作によって、 テーブル・プローブ・アクセス方式に提供されます。

コード化ベクトル索引 (EVI) RRN プローブは、テーブル・プローブを使用してテーブルにアクセスする代わりに、EVI から値を取得することで、選択した列を提供するために使用される索引専用アクセス方式です。EVI から値を取得すると、テーブル・プローブ操作に伴うランダム入出力と比較して優れた入出力特性が得られます。

このアクセス方式は、基数索引プローブ、基数索引走査、または EVI プローブ操作と組み合わせて使用します。基数索引プローブ、基数索引走査、または EVI プローブ操作を使用して行を選択してから、選択した行の RRN を使用して EVI にプローブし、選択に使用された索引で提供されなかった、選択された値を取得します。EVI RRN プローブは、選択された値を提供するために複数の EVI にアクセスできます。

表 1. EVI RRN プローブ属性
データ・アクセス方式 EVI RRN プローブ
説明 コード化ベクトル索引 (EVI) は、基礎となる索引アクセスによって提供された RRN に基づいて、迅速にプローブされます。
利点
  • EVI 索引キー値からすべてのデータを抽出できるので、テーブル・プローブの必要性がありません。
  • テーブル・プローブと比較して優れたページング特性が得られます。
考慮事項
  • この実装では、単一キーの EVI のみが考慮されます。
  • 選択されたすべての列で、単一列の EVI が作成されている必要があります。
  • EVI は、照会の最適化プログラムの適正なメモリー・シェアに収まる必要があります。
使用される可能性が高い場合
  • テーブル行サイズが広く、選択列の数がテーブル内の列数と比較して少なくなり、照会で列を取得するためにテーブル・プローブが必要になる場合
SQL ステートメントの例
CREATE ENCODED VECTOR INDEX EVI1 ON
Employee (WorkDept)
CREATE ENCODED VECTOR INDEX EVI2 ON
Employee (Salary)WITH 10000 DISTINCT VALUES
CREATE ENCODED VECTOR INDEX EVI3 ON
Employee (LASTNAME)WITH 100000 DISTINCT VALUES
CREATE INDEX IX1 ON Employee (Job)
SELECT LASTNAME, WORKDEPT, SALARY
FROM EMPLOYEE
WHERE JOB = ‘ANALYST’
変更の始まり使用を示すデータベース・モニターおよびプラン・キャッシュ・レコード変更の終わり 変更の始まりQQRCOD = ‘I8’の、各 EVI の QQRID 3001 Index Used レコード変更の終わり
SMP 並列の使用可能化 はい
別名 テーブル・プローブ、プリロード
Visual Explain アイコン
テーブル・プローブ・アイコン

コード化ベクトル索引専用アクセス (EOA) より前には、カーディナリティーが低い (特殊値が少ない) 列にのみ EVI を作成することが推奨されていました。この推奨は変更されました。 EVI RRN プローブは、カーディナリティーが高い (特殊値が多い) 列に対して使用できます。ただし、EVI を作成する際には、WITH integer DISTINCT VALUES 節を使用して、コードの初期サイズを適切に設定し、データベース・マネージャーが大規模なコードを使用する必要がある場合の保守時間を最小化する必要があります。詳しくは、SQL 解説書の CREATE INDEX ステートメントを参照してください。

変更の終わり