6.21.5 adbreorgsystemdataコマンド実行時の作業用一時ファイルの容量見積もり
ここでは,システム表(実表)を再編成するために,adbreorgsystemdataコマンド実行時に作成される作業用一時ファイルの容量の求め方について説明します。
インデクスを定義している表に対してadbreorgsystemdataコマンドを実行した場合,次に示すディレクトリ下に作業用一時ファイルが作成されます。
-
-wオプションを指定した場合
指定したディレクトリ下に作成されます。
-
-wオプションを指定しない場合
DBディレクトリ下($DBDIR/ADBWORK)に作成されます。
作業用一時ファイルの容量については,次に示す計算式から求めてください。
計算式(単位:キロバイト)
変数の説明
- idx_num
-
再編成対象のシステム表(実表)に定義されているB-treeインデクスの数
再編成対象のシステム表(実表)に定義されているB-treeインデクスについては,「付録C.8 システム表(実表)のB-treeインデクス」を参照してください。
- RECFILE(i)
-
インデクスレコードファイル
次に示す計算式から求めてください。
計算式(単位:バイト)
- KEYSZ(i)
-
i番目のB-treeインデクスのキー長(単位:バイト)
「5.8.4 B-treeインデクスのキー長(KEYSZ)の求め方」を基に,B-treeインデクスのキー長を求めてください。
なお,可変長データのB-treeインデクスのキー長を求める際は,「表5‒19 B-treeインデクスのキー長一覧」中の「実際のデータ長」を「データの定義長」で計算してください。
- CTRL(i)
-
i番目のB-treeインデクス制御情報
-
インデクス構成列のキー長がすべて固定長の場合:10バイト
-
インデクス構成列のキー長に可変長を含む場合:12バイト
-
- row_num
-
adbreorgsystemdataコマンドの対象となる表に格納されている行数
- SORTFILE(i)
-
ソート結果用ファイル
次に示す計算式から求めてください。変数KEYSZ(i),変数CTRL(i)および変数row_numについては,上記のインデクスレコードファイル(変数RECFILE(i))の計算式を参照してください。
計算式(単位:バイト)
- SORTWORK(i)
-
ソート用ワークファイル
次に示す計算式から求めてください。変数RECFILE(i)および変数row_numについては,上記のインデクスレコードファイル(変数RECFILE(i))の計算式を参照してください。
計算式(単位:バイト)
- IDXWORK(i)
-
B-treeインデクス作成用ワークファイル
次に示す計算式から求めてください。
計算式(単位:バイト)
- KEYSZDB(i)
-
i番目のデータベース格納キー長(単位:バイト)
「5.8.3 B-treeインデクスのセグメントごとの格納ページ数の求め方」の「(1) 下位ページ用のセグメントで使用する格納ページ数(変数IP_LOWER(i))の求め方」の変数KEYSZDBを参照してください。ただし,可変長のデータは,常にキー長を定義長として求めてください。
- PIDX_LEAF
-
B-treeインデクスの1段目のページ数(リーフページ)
「5.8.3 B-treeインデクスのセグメントごとの格納ページ数の求め方」の「(1) 下位ページ用のセグメントで使用する格納ページ数(変数IP_LOWER(i))の求め方」の計算式1(PIDX_LEAFの求め方)に従って求めてください。
- PIDX(2)
-
B-treeインデクスの2段目のページ数
「5.8.3 B-treeインデクスのセグメントごとの格納ページ数の求め方」の「(2) 上位ページ用のセグメントで使用する格納ページ数(変数IP_UPPER(i))の求め方」の計算式1(PIDX(k)の求め方)に従って求めてください。