13.2.4 除外キー値を設定したインデクスの使用
インデクスを定義した列のデータは,すべてインデクスのキー値としてインデクス中に取り込まれます。ところが,インデクス中にはナル値のような余分なキー値もあります。このように,すべての構成列の値がナル値から成るキー値の重複が多いインデクスに対してナル値を除外キー値として指定できます。
- 〈この項の構成〉
(1) インデクスに除外キー値を設定した場合の効果
インデクスに除外キー値を設定することで,次に示す効果が期待できます。
-
インデクスには,ナル値のキーを作成しないため,インデクスの容量を削減できます。
-
行の挿入,削除及び更新時のインデクスメンテナンスのオーバヘッド(CPU時間,入出力回数,排他制御要求回数及びデッドロック発生頻度)とログ量を削減できます。
-
ナル値を除外キー値とするインデクスの構成列に対する探索条件が,IS NULL,VALUE,又はCASE式を指定した検索ではインデクスを使用しません。これによって,次に示す場合に検索性能が向上します。
-
ナル値の重複が多い状態でインデクスを使用し,データページをランダムにアクセスしたため,同じページに入出力処理が発生していた場合
-
(3) 注意
-
除外キー値を指定できるのはナル値だけで構成されたキー値です。
-
非ナル値制約の列を含むインデクスには除外キー値を指定できません。
-
クラスタキー指定を指定したインデクスには除外キー値を指定できません。
-
インデクス順にアンロードをする場合,除外キー値を持つインデクスは指定できません。