14.6.1 インデクスページスプリットとは
HiRDBのインデクスはB-tree構造をしています。このため,インデクスページにキーを追加しようとした場合,追加するインデクスページに空き領域がないとき,インデクスページスプリットが発生します。インデクスページスプリットとは,キーを追加するインデクスページに空き領域がないとき,HiRDBが空き領域を確保するために,このインデクスページのインデクス情報を均等に2分割して,後ろの半分を新しいページに移すことです。通常のインデクスページスプリットの例を次の図に示します。
(1) インデクスページスプリットの発生に伴うログ量の増加
表にインデクスがある場合,表に対してデータを追加すると,これに伴ってインデクスページにキーが追加されます。このとき,インデクスページ内の未使用領域の比率が小さいと,インデクスページスプリットが頻繁に発生することがあります。インデクスページスプリットが頻繁に発生すると,インデクスの構造の変更に伴うログ量が増加します。
(2) インデクスページスプリット発生回数の削減方法
インデクスページスプリットの発生回数を削減するには,統計解析ユティリティ(pdsteditコマンド)で取得したインデクスページスプリットの情報を基に,インデクスページ内の未使用領域の比率を変更します。インデクスページ内の未使用領域の比率を変更するには,定義系SQLのCREATE INDEXのPCTFREEオペランドの値を変更して,インデクスを再度定義します。
統計解析ユティリティで取得したインデクスページスプリットの情報への対処の仕方については,「インデクスのチューニング」を参照してください。