Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


6.3.8 adbgetcstコマンド実行時のメモリ所要量の求め方

adbgetcstコマンドを実行する場合,HADBサーバは次に示すメモリを使用します。各メモリの所要量を求めてください。

■共有メモリ
  • プロセス共通メモリ(PROC_GETCOSTSZ)

  • リアルスレッド固有メモリ(RTHD_GETCOSTSZ)

それぞれのメモリ所要量の計算式を次に示します。

〈この項の構成〉

(1) プロセス共通メモリの所要量の求め方(adbgetcstコマンド実行時)

adbgetcstコマンド実行時のプロセス共通メモリ(PROC_GETCOSTSZ)の所要量は,次に示す計算式から求めてください。

計算式(単位:キロバイト)
PROC_GETCOSTSZ= Σ(PROC_MNG+PROC_CST)
変数の説明
注※

複数のadbgetcstコマンドを同時に実行する場合は,各adbgetcstコマンドが使用するメモリ所要量を求めてください。そして,それぞれで求めたメモリ所要量を合計してください。

(a) 変数PROC_MNGの求め方

変数PROC_MNGは,コスト情報収集時の管理で使用するプロセス共通メモリの所要量を求めるときに使用します。次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

DIC

処理対象表の定義情報を取得するメモリ

計算式(単位:キロバイト)

[図データ]

注※

処理対象表がアーカイブマルチチャンク表の場合に加算してください。

col_num

処理対象表の列数

処理対処表が複数ある場合は,列が最も多い表の列数になります。

max_rowsz

最大行長(単位:バイト)

最大行長については「5.8.2(1) 基本行用ページ数(変数BP(i))の求め方」の行長ROWSZの計算式を基に求めてください。

idx_num

処理対象表に定義されたインデクス数

処理対象表が複数ある場合は,インデクスが最も多く定義された表のインデクス数になります。

IOA

データベースアクセスで使用するメモリ

計算式(単位:キロバイト)

[図データ]

TBL

処理対象表の管理で使用するメモリ

計算式(単位:キロバイト)

[図データ]

  • tbl_num

    処理対象表の数

DBSTA

データベース状態解析で使用するメモリ

計算式(単位:キロバイト)

[図データ]

(b) 変数PROC_CSTの求め方

変数PROC_CSTは,コスト情報収集時にバッファとして使用するプロセス共通メモリの所要量を求めるときに使用します。

adbgetcstコマンドの-tオプションを省略して実行した場合は,-uオプションに指定した認可識別子のスキーマ内のすべての表について,変数PROC_CSTを求めてください。その中で最も大きい値が,変数PROC_CSTとなります。

次に示す計算式から求めてください。

計算式(単位:キロバイト)
PROC_CST= DBHTBLINF+DICTBLINF

変数の説明

DBHTBLINF

処理対象表のコスト情報を取得するときに使用するメモリ

計算式(単位:キロバイト)

[図データ]

col_num

処理対象表の列数

sql_rthd_num

コスト情報収集オプションadb_getcst_scan_rthd_numの指定値

adb_getcst_scan_rthd_numの指定値が0の場合は,1を代入してください。

coldata(i)

各列のデータ長

6.3.4(2)(c) 変数RTHD_EXESQLSZの求め方」の「表6-8 各データ型のデータ長の一覧」を参照して求めてください。

hash_size

65,536を代入してください。

cardinarity_num

20,000を代入してください。

DICTBLINF

処理対象表のコスト情報をシステム表に格納するときに使用するメモリ

計算式(単位:キロバイト)

[図データ]

col_num

処理対象表の列数

b_tree_idx_num

処理対象表に定義されたB-treeインデクスの数

text_idx_num

処理対象表に定義されたテキストインデクスの数

row_size

処理対象表の行長

計算式

[図データ]

(2) リアルスレッド固有メモリの所要量の求め方(adbgetcstコマンド実行時)

adbgetcstコマンド実行時のリアルスレッド固有メモリ(RTHD_GETCOSTSZ)の所要量は,次に示す計算式から求めてください。

計算式(単位:キロバイト)
RTHD_GETCOSTSZ= COSTSQL
変数の説明
COSTSQL

コスト情報収集時に実行される検索系SQLで使用するメモリ

adbgetcstコマンドを実行すると,処理対象表のコスト情報を収集するために,次に示すSQL文が1回実行されます。

SELECT * FROM "対象表名"

6.3.4(2)(c) 変数RTHD_EXESQLSZの求め方」および「6.3.4(2)(g) 変数RTHD_EXESQLDICSZの求め方」を参照して,検索系SQLの実行時に使用されるメモリの所要量を,処理対象表ごとに求めてください。その中で,最も大きい値を代入してください。