Hitachi

ノンストップデータベース HiRDB Version 9 システム運用ガイド(UNIX(R)用)


14.6.2 アンバランスインデクススプリットとは

通常のインデクスページスプリットでは,連続したキー値を追加すると,インデクスページのデータ格納効率が下がります。このような場合,アンバランスインデクススプリットを使用します。アンバランスインデクススプリットとは,インデクスページのインデクス情報を均等に2分割しないで,不均等に分割することです。これによって,連続したキー値を追加したときに,データの格納効率を向上できます。

アンバランスインデクススプリットが指定された場合,インデクスページのインデクス情報を分割する比率は,キー値の追加位置で決定します。

追加位置がインデクスページから見て前半部分であれば,以降,前半部分にキーが追加されると予測します。このため,追加するキー値より一つ大きいキー値を分割位置として,前半部分を左側ページに格納します。

追加位置が後半部分であれば,以降,後半部分にキーが追加されると予測します。このため,追加位置を分割位置として,後半部分を右側ページに格納します。インデクスページの後半部分にキーを追加した場合のアンバランスインデクススプリットの例を次の図に示します。

図14‒3 アンバランスインデクススプリットの例

[図データ]

〈この項の構成〉

(1) アンバランスインデクススプリットの適用範囲

アンバランスインデクススプリットは,最終ページでないリーフページだけに適用します。また,ロールバック時は,アンバランスインデクススプリットを適用しないで,通常のインデクスページスプリットを実施します。この場合,50:50の割合でページ分割します。

また,リーフページの最終ページは,定義系SQLのCREATE INDEXPCTFREEオペランドで指定した値に従ってデータを分割します。これは,データロードなどによるキー値の昇順追加に対応するためです。

(2) アンバランスインデクススプリットの適用基準

次に示す条件を満たすインデクスに,アンバランスインデクススプリットを適用すると効果があります。

(3) 指定方法

アンバランスインデクススプリットを使用する場合,定義系SQLのCREATE INDEXCREATE TABLE,又はALTER TABLEのインデクスオプションにUNBALANCED SPLITを指定します。