スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(Windows(R)用)

[目次][索引][前へ][次へ]

12.9 クラスタキーの指定

クラスタキーとは,特定の列の値の昇順又は降順に行を格納するためのキーとして指定した列のことです。表の一つの列又は複数の列にクラスタキーを指定しておくと,クラスタキーの昇順又は降順に行を格納できます。

クラスタキーを定義すると,指定した列に対してインデクスが作成されます。

<この節の構成>
(1) クラスタキーを定義したときの効果
(2) 適用基準
(3) 指定方法
(4) 設計上の考慮点
(5) 注意

(1) クラスタキーを定義したときの効果

表にクラスタキーを指定したときの効果を次に示します。

性能の向上
範囲を指定して行の検索,更新,削除などをするとき又はクラスタキー順に検索,更新などをするときに,入出力時間を削減できます。

操作性の向上
  • UNIQUE指定のクラスタキーを定義すると,そのクラスタキーには一意性制約が適用されます。このため,行を挿入するときに,クラスタキーを構成している列の値がすべての行で重複しないようにできます。なお,フレキシブルハッシュ分割表には,UNIQUE指定のクラスタキーを定義できません。
  • PRIMARY指定のクラスタキーを定義すると,そのクラスタキーには一意性制約及び非ナル値制約が適用されます。このため,行を挿入するときに,クラスタキーを構成している列の値がすべての行で重複しないようにできます。また,クラスタキーを構成している列の値にナル値を格納しないようにできます。なお,フレキシブルハッシュ分割表には,PRIMARY指定のクラスタキーを定義できません。
  • 表を作成するときに,入力データがクラスタキーの昇順又は降順に並んでいるかどうかをデータベース作成ユティリティ(pdload)で確認できます。
  • 表を再編成するときに,アンロードした行のクラスタキーと,リロードするクラスタキーが一致しているかどうかをデータベース再編成ユティリティ(pdrorg)で確認できます。

(2) 適用基準

クラスタキーを指定するとよい場合を次に示します。

(3) 指定方法

表にクラスタキーを定義するには,定義系SQLのCREATE TABLECLUSTER KEYオプションを指定します。

(4) 設計上の考慮点

データを追加した後の検索効果を上げるため,表を格納しているページ内に未使用領域を設定しておきます。設定方法については,「14.3 ページ」を参照してください。

(5) 注意

〔説明〕
  1. 列Cを持つデータを追加します。
  2. 列Cに近接するキー値を探すオーバヘッドが発生します。