• 検索結果がありません。

ページ内の未使用領域の設定

ドキュメント内 TP1/EE/Extended Data Cache 使用の手引 (ページ 69-73)

SQL 例

3.3.3  ページ内の未使用領域の設定

インデクスデータの格納効率を上げる場合は,ページ内の未使用領域の設定を検討して ください。

(1) ページ内の未使用領域とは

ページ内の未使用領域とは,データインポート時にインデクスデータを格納しない領域 のことです。

例えば,ページ内の未使用領域比率に

20%

を指定した場合,データのインポート時にイ ンデクスページ内に

20%

の未使用領域を設定します。ページ内の未使用領域の概要を次 の図に示します。

ページ内の未使用領域比率は,CREATE INDEX文の

PCTFREE

句で指定できます。

3-3 ページ内の未使用領域の概要

説明

この図では,ページ内の未使用領域の比率を

20%

としています。

データのインポート時,未使用領域にインデクスデータは格納されません。

ページ内の未使用領域の指定が有効になるのは,データのインポート時だけです。デー タの追加,更新,削除時には未使用領域の指定は有効になりません。ただし,次に示す 場合に限り,未使用領域の指定が有効になります。

行の追加または更新によって,最大キー値を格納しているインデクスページにインデ クスページスプリットが発生した場合,新しく確保したページに対しては未使用領域 の指定が有効になります。

■インデクスページスプリットとは

インデクスは,ページごとに管理するキーの範囲を決定しています。キー追加時に,

本来そのキーを格納するためのインデクスページに空きがない場合,該当ページが 管理しているキー群を二つに分割します。これをインデクスページスプリットとい います。インデクスページスプリットの例を次の図に示します。

3-4 インデクスページスプリットの例

(2) ページ内の未使用領域を設定するメリット

空き領域がないインデクスページにインデクスデータが追加されると,XDBはインデク スページスプリットを行って新規ページを確保し,インデクスデータを追加します。例 えば,未使用領域比率を

0%

とした場合,行を追加したときにインデクスページスプ リットが発生します。未使用領域を設定しておくと,行を追加したときに,その未使用 領域にインデクスデータが格納されるため,インデクスページスプリットが発生しませ ん。このように,ページ内の未使用領域を適切に設定すると,インデクスページスプ

3-5 ページ内の未使用領域を設定するメリット

(3) ページ内の未使用領域に設定する値の目安

次のケースに当てはまる場合は,既定値(未使用領域比率

30%)よりも小さな値を指定

してください。

インデクスデータの格納効率を重視する場合

インデクスの増加量が予測できない場合

最大キー値を追加する頻度が高い場合

インデクスの増加量がキー値の範囲ごとに大きくばらつく場合 未使用領域の比率の目安となる計算式を次に示します。

計算式

変数の説明

INITROW:インポート時の表の行数 INS:将来予測される追加行数

ページ内の未使用領域の比率=↑INS÷(INITROW+INS)↑×100  (単位:%)

ドキュメント内 TP1/EE/Extended Data Cache 使用の手引 (ページ 69-73)