5.8.6 レンジインデクスを格納するセグメント数の求め方
各レンジインデクスを格納するために必要なセグメント数(変数RS(i))は,次に示す計算式から求めてください。
- 計算式(単位:セグメント数)
-
RS(i)= SGRI+SGSAM
- 変数の説明
-
SGRI:「(1) 変数SGRIの求め方」を参照してください。
SGSAM:「(2) 変数SGSAMの求め方」を参照してください。
- 〈この項の構成〉
(1) 変数SGRIの求め方
変数SGRIは,次に示す計算式から求めてください。
計算式(単位:セグメント数)
変数の説明
- SEGSIZE
-
レンジインデクスを定義したDBエリアのセグメントサイズ(単位:ページ数)
次に示す計算式から求めてください。
計算式
SEGSIZE= 1セグメントの容量(単位:バイト)÷page_size
- page_size
-
レンジインデクスを格納するDBエリアのページサイズ(単位:バイト)
- PGGRPRI
-
次に示す計算式から求めてください。
計算式(単位:ページグループ数)
- DBASGM
-
次に示す計算式から求めてください。
計算式(単位:個)
- SUBAREANUM
-
次に示す計算式から求めてください。
計算式(単位:個)
- cmd_num
-
レンジインデクスを定義した表が格納されたDBエリアを,次のコマンドで初期化した回数,または追加した回数の合計
-
adbinitコマンド
-
adbmodareaコマンド
-
- tbl_dbareafile_num(i)
-
レンジインデクスを定義した表が格納されたDBエリアを,i番目に実行した次のコマンドで初期化したとき,または追加したときに,作成されたDBエリアファイルの数(単位:個)
-
adbinitコマンド
-
adbmodareaコマンド
-
- tbl_dbarea_initsize(i)
-
レンジインデクスを定義した表が格納されたDBエリアを,i番目に実行した次のコマンドで初期化したとき,または追加したときに,初期確保サイズのオプションに指定したサイズ(単位:ギガバイト)
-
adbinitコマンド
-
adbmodareaコマンド
-
- SGTBL
-
レンジインデクスを定義した表,およびその表と同じデータ用DBエリアに格納されている表を格納するセグメント数(単位:個)
「5.8.1 データ用DBエリアの総ページ数の求め方」の「(2) 変数の説明」の次の個所を参照してください。なお,表の種類によって参照先が異なります。
-
シングルチャンク表かつローストア表の場合
-
シングルチャンク表かつカラムストア表の場合
-
マルチチャンク表かつローストア表の場合
-
マルチチャンク表かつカラムストア表の場合
-
- SGIDX
-
レンジインデクスを定義した表と同じデータ用DBエリアに格納されているB-treeインデクスのセグメント数(単位:個)
「5.8.1 データ用DBエリアの総ページ数の求め方」の「(2) 変数の説明」の次の個所を参照してください。なお,表の種類によって参照先が異なります。
-
シングルチャンク表の場合
-
マルチチャンク表の場合
-
- SGTIX
-
レンジインデクスを定義した表と同じデータ用DBエリアに格納されているテキストインデクスのセグメント数(単位:個)
「5.8.1 データ用DBエリアの総ページ数の求め方」の「(2) 変数の説明」の次の個所を参照してください。なお,表の種類によって参照先が異なります。
-
シングルチャンク表の場合
-
マルチチャンク表の場合
-
- rng_num_in_table_dbarea
-
レンジインデクスを定義した表が格納されているデータ用DBエリア内のレンジインデクス数(単位:個)
- ASGRI(i)
-
レンジインデクスを定義した表と同じデータ用DBエリアに格納されているレンジインデクスのセグメント数(単位:個)
計算式(単位:個)
- SGSAM
-
「(2) 変数SGSAMの求め方」を参照してください。
- SGTBL
-
レンジインデクスを定義した表と同じデータ用DBエリアに格納されているi番目のレンジインデクスを定義した表のセグメント数(単位:個)
「5.8.1 データ用DBエリアの総ページ数の求め方」の「(2) 変数の説明」にある次の個所を参照してください。なお,表の種類によって参照先が異なります。
-
シングルチャンク表かつローストア表の場合
-
シングルチャンク表かつカラムストア表の場合
-
マルチチャンク表かつローストア表の場合
-
マルチチャンク表かつカラムストア表の場合
-
- col_size
-
レンジインデクスを定義した列のデータ長(単位:バイト)
各列のデータ長を求める場合は,「5.8.2 行の種別ごとの格納ページ数の求め方」の「(1) 基本行用ページ数(変数BP(i))の求め方」の「表5‒15 各データ型のデータ長の一覧」を参照してください。
- PGGRPSGM
-
次に示す計算式から求めてください。
計算式(単位:ページグループ数)
- PGGRPSIZE
-
変数PGGRPSIZEは,次に示す計算式で求めた変数TMPPGGRPSIZE以上の,最小の2のべき乗数となります。
- 重要
-
-
変数PGGRPSIZEの計算結果が255より大きくなった場合は,変数PGGRPSIZEに255を代入してください。
-
対象のレンジインデクスが,バージョン02-02より前に定義されたレンジインデクスであり,かつadbidxrebuildコマンドを一度も実行したことがないレンジインデクスである場合,変数PGGRPSIZEには変数SEGSIZEの値を代入してください。
-
計算式
- TBLSGMTMAXNUM
-
次に示す計算式から求めてください。
計算式
- TABLESGMTCAPA
-
レンジインデクスを定義した表を格納するデータ用DBエリアの1セグメントの容量(単位:バイト)
- rng_page_size
-
レンジインデクスを格納するデータ用DBエリアのページサイズ(単位:バイト)
(2) 変数SGSAMの求め方
変数SGSAMは,次に示す計算式から求めてください。
計算式(単位:セグメント数)
変数の説明
- SUBAREAPTRNUM
-
次に示す計算式から求めてください。
計算式(単位:個)
- cmd_num
-
レンジインデクスを定義した表が格納されたDBエリアを,次のコマンドで初期化した回数,または追加した回数の合計
-
adbinitコマンド
-
adbmodareaコマンド
-
- tbl_dbareafile_num(i)
-
レンジインデクスを定義した表が格納されたDBエリアを,i番目に実行した次のコマンドで初期化したとき,または追加したときに,作成されたDBエリアファイルの数(単位:個)
-
adbinitコマンド
-
adbmodareaコマンド
-
- tbl_dbarea_max_initsize
-
レンジインデクスを定義した表が格納されたDBエリアを,次のコマンドで初期化したとき,または追加したときに,実行したすべてのコマンドの中で,初期確保サイズのオプションに指定したサイズが最も大きいサイズ(単位:ギガバイト)
-
adbinitコマンド
-
adbmodareaコマンド
-
- col_size
-
レンジインデクスを定義した列のデータ長(単位:バイト)
各列のデータ長を求める場合は,「5.8.2 行の種別ごとの格納ページ数の求め方」の「(1) 基本行用ページ数(変数BP(i))の求め方」の「表5‒15 各データ型のデータ長の一覧」を参照してください。
なお,対象のレンジインデクスがチャンクのスキップができないレンジインデクスの場合,変数col_sizeには0を代入してください。対象のレンジインデクスがチャンクのスキップができるかどうかを確認する場合は「11.3.6 レンジインデクスの確認(チャンクのスキップの可否)」を参照してください。
- page_size
-
レンジインデクスを格納するDBエリアのページサイズ(単位:バイト)
- SEGSIZE
-
セグメントサイズ(単位:ページ数)
次に示す計算式から求めてください。
計算式
SEGSIZE= 1セグメントの容量(単位:バイト)÷page_size