6.21.1 adbimportコマンド実行時の作業用一時ファイルの容量見積もり
ここでは,データをインポートするために,adbimportコマンド実行時に作成される作業用一時ファイルの容量の求め方について説明します。
作成される作業用一時ファイルは次のとおりです。
-
インデクス作成用の作業用一時ファイル※
-
データ圧縮用の作業用一時ファイル
- 注※
-
インデクス作成用の作業用一時ファイルの容量を求める計算式については,次のコマンドの場合もここで説明しています。
-
adbidxrebuildコマンド
-
adbmergechunkコマンド
-
adbunarchivechunkコマンド
-
adbreorgsystemdataコマンド
-
- ■インデクス作成用の作業用一時ファイル
-
インデクスを定義している表に対してadbimportコマンドを実行した場合,次に示すディレクトリ下にインデクス作成用の作業用一時ファイルが作成されます。
-
-wオプションを指定した場合
指定したディレクトリ下に作成されます。
-
-wオプションを指定しない場合
DBディレクトリ下($DBDIR/ADBWORK)に作成されます。
インデクス作成用の作業用一時ファイルの容量については,次に示す計算式から求めてください。
計算式(単位:キロバイト)
- 注※
-
adbmergechunkコマンドを実行する際に--concurrency-priorオプションを指定する場合に加算してください。
変数の説明
- BIDXFILE(i)
-
計算式Aまたは計算式Bのどちらかの計算式から求めてください。
見積もり対象のコマンド
サーバ定義の指定
使用する計算式
adbimportコマンド
adb_cmd_ixrec_file_useオペランドの指定値がREUSABLEの場合
計算式A
adb_cmd_ixrec_file_useオペランドの指定値がSINGLE-USEの場合,またはこのオペランドを省略する場合
計算式B
adbidxrebuildコマンド
adb_cmd_ixrec_file_useオペランドの指定値がREUSABLEの場合
計算式A
adb_cmd_ixrec_file_useオペランドの指定値がSINGLE-USEの場合,またはこのオペランドを省略する場合
計算式B
adbmergechunkコマンド
条件なし
計算式B
adbunarchivechunkコマンド
adbreorgsystemdataコマンド
計算式A(単位:バイト)
計算式B(単位:バイト)
- idx_num
-
表に定義するB-treeインデクスの数
- RECFILE(i)
-
インデクスレコードファイル
次に示す計算式から求めてください。
計算式(単位:バイト)
RECFILE(i)={KEYSZ(i)+CTRL(i)}×row_num+1,092
- 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
-
-
adbimportコマンドの場合
adbimportコマンドで格納する行数
-
adbidxrebuildコマンドの場合
adbidxrebuildコマンドの対象表に格納されている行数
-
adbmergechunkコマンドの場合
adbmergechunkコマンドの対象表のマージ元チャンクに格納されている行数
-
adbunarchivechunkコマンドの場合
adbunarchivechunkコマンドの対象表のチャンクに対応するアーカイブファイルに格納されている行数
-
adbreorgsystemdataコマンドの場合
adbreorgsystemdataコマンドの対象となる表に格納されている行数
-
- SORTWORK(i)
-
ソート用ワークファイル
次に示す計算式から求めてください。変数RECFILE(i)および変数row_numについては,上記のインデクスレコードファイル(変数RECFILE(i))の計算式を参照してください。
計算式(単位:バイト)
SORTWORK(i)=RECFILE(i)+8×row_num
- SORTFILE(i)
-
ソート結果用ファイル
次に示す計算式から求めてください。変数KEYSZ(i),変数CTRL(i)および変数row_numについては,上記のインデクスレコードファイル(変数RECFILE(i))の計算式を参照してください。
計算式(単位:バイト)
- TCTRL(i)
-
i番目のテキストインデクス制御情報
-
テキストインデクスの場合
次に示す計算式から求めてください。
計算式
-
テキストインデクスではない場合
0を代入してください。
-
- 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)の求め方)に従って求めてください。
- tix_num
-
テキストインデクスの数
- TIXWORK(i)
-
テキストインデクス作成用ワークファイル
次に示す計算式から求めてください。
計算式(単位:バイト)
- row_num
-
変数RECFILE(i)のrow_numを参照してください。
- string_num(i)
-
テキストインデクスのインデクス構成列に格納されている平均文字数
- define_num(i)
-
テキストインデクスのインデクス構成列の定義長
- TIXCORWORK(i)
-
テキストインデクス作成用ワークファイル(表記ゆれ補正検索向け)
テキストインデクスの定義時に,「テキストインデクス表記ゆれ補正指定」を指定した場合に求める必要があります。
次に示す計算式から求めてください。
計算式(単位:バイト)
- row_num
-
変数RECFILE(i)のrow_numを参照してください。
- string_num(i)
-
テキストインデクスのインデクス構成列に格納されている平均文字数
- rix_num
-
レンジインデクスの数
- RIXRECFILE(i)
-
レンジインデクスのインデクスレコードファイル
次に示す計算式から求めてください。
計算式(単位:バイト)
RIXRECFILE(i)=SGRI(i)×SEGCAPA(i)×2
- SGRI(i)
-
「5.8.6 レンジインデクスを格納するセグメント数の求め方」の「(1) 変数SGRIの求め方」を参照してください。
- SEGCAPA(i)
-
レンジインデクスを定義するDBエリアの1セグメントの容量(単位:バイト)
1セグメントの容量は,データ用DBエリアのページサイズを基に,「表5‒5 データ用DBエリアのページサイズおよび1セグメントの容量ごとのセグメントブロック化係数」を参照して求めてください。なお,「表5‒5 データ用DBエリアのページサイズおよび1セグメントの容量ごとのセグメントブロック化係数」では,1セグメントの容量がメガバイト単位で表記されているため,求めた値をバイト単位に変換してください。
-
- ■データ圧縮用の作業用一時ファイル
-
カラムストア表へデータを格納する場合だけ,データ圧縮用の作業用一時ファイルが作成されます。
データ圧縮用の作業用一時ファイルの容量については,次に示す計算式から求めてください。
計算式(単位:キロバイト)
変数の説明
- col_num
-
処理対象表の列の総数(単位:個)
- col_size(i)
-
処理対象表の各列のデータ長(単位:バイト)
各列のデータ長は,「表6‒9 各データ型のデータ長の一覧」を参照してください。
- imp_load_rthd
-
次の計算式から求めてください。
インポートオプションadb_import_rthd_numの指定値 -1