索引ノード

索引ノードは、SQL ステートメントによって参照される索引を表します。1 つの SQL ステートメントで同じ索引を複数回参照できます。それぞれの参照は 1 つの索引ノードで表されます。
以下の目的で索引を使用することができます。

索引ノードは、索引の名前がラベルとして付けられ、デフォルトでは六角形として表示されます。 索引のフル・キー・カーディナリティー、作成者名、またはクラスター率もラベルに表示できます。 RUNSTATS ユーティリティーが索引の統計を収集していない場合、索引ノードは赤で枠取りされます。 オプティマイザーがフル・キー・カーディナリティーにデフォルト値を使用すると、そのカーディナリティーにはデフォルトとしてのマークが付けられます。

RUNSTATS が統計を収集していない場合、オプティマイザーは必ずしもデフォルト値を使用しません。 SYSIBM.SYSINDEXES 内の値を手動で更新した場合、オプティマイザーはデフォルト値の代わりにそれらの値を使用します。

DB2 が索引にアクセスする方法の例

DB2 は索引スキャン (IXSCAN) を使用して索引にアクセスすることができます。DB2 オプティマイザーは、下の表にリストする索引統計を使用して、アクセス・プランを決定します。 これらの統計は、索引ノードに関する「記述子」ウィンドウで属性としてリストされます。これらの索引統計を提供するためには、RUNSTATS ユーティリティーを使用して索引統計を収集するか、またはカタログ表 SYSIBM.SYSINDEXES を手動で更新してください。これらの統計を提供しなかった場合、DB2 は、次の表にリストされたデフォルト値を使用します。

表 1. オプティマイザーが使用する索引統計
属性 説明 デフォルト値
クラスター率 クラスタリング順序になっている行のパーセンテージ 0
最初のキーのカーディナリティー 最初のキー列の特殊値の数 25
フル・キー・カーディナリティー キーの特殊値の数 25
リーフ・ページ アクティブなリーフ・ページの数 表の行数を 300 で割った値
レベル 索引パーティション・ツリーのレベル数 2

フィードバック