3.4.4 除外キー値
インデクスを定義した列のデータは,ナル値であってもすべてインデクスのキー値としてインデクス中に取り込まれます。インデクス中にナル値のキー値があっても意味がないため,むだなデータとなってしまいます。このような場合,すべての構成列の値がナル値で,キー値の重複が多いインデクスに対してナル値を除外キー値として指定できます。インデクスに除外キー値を設定すると,次に示す効果が期待できます。
- 期待できる効果
-
-
インデクスには,ナル値のキーを作成しないため,インデクスの容量を削減できます。
-
行の挿入,削除及び更新時のインデクスメンテナンスのオーバヘッド(CPU時間,入出力回数,排他制御要求回数及びデッドロック発生頻度)とログ量を削減できます。
-
ナル値を除外キー値とするインデクスの構成列に対する探索条件が,「IS NULL」だけの検索ではインデクスを使用しません。これによって,次に示す場合に検索性能が向上します。
・ナル値の重複が多い状態でインデクスを使用し,データページをランダムにアクセスしたため,同じページに入出力処理が発生していた場合
-
- 除外キー値の指定方法
-
定義系SQLのCREATE INDEXでEXCEPT VALUESオプションを指定します。インデクスの除外キー値の詳細については,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。