6.3.8 adbgetcstコマンド実行時のメモリ所要量の求め方
adbgetcstコマンドを実行する場合,HADBサーバは次に示すメモリを使用します。各メモリの所要量を求めてください。
- ■共有メモリ
-
-
プロセス共通メモリ(PROC_GETCOSTSZ)
-
リアルスレッド固有メモリ(RTHD_GETCOSTSZ)
-
それぞれのメモリ所要量の計算式を次に示します。
(1) プロセス共通メモリの所要量の求め方(adbgetcstコマンド実行時)
adbgetcstコマンド実行時のプロセス共通メモリ(PROC_GETCOSTSZ)の所要量は,次に示す計算式から求めてください。
- 計算式(単位:キロバイト)
-
PROC_GETCOSTSZ= Σ(PROC_MNG+PROC_CST)※
- 変数の説明
-
-
PROC_MNG
コスト情報収集時の管理で使用するプロセス共通メモリ
「(a) 変数PROC_MNGの求め方」を参照して求めてください。
-
PROC_CST
コスト情報収集時にバッファとして使用するプロセス共通メモリ
「(b) 変数PROC_CSTの求め方」を参照して求めてください。
-
- 注※
-
複数のadbgetcstコマンドを同時に実行する場合は,各adbgetcstコマンドが使用するメモリ所要量を求めてください。そして,それぞれで求めたメモリ所要量を合計してください。
(a) 変数PROC_MNGの求め方
変数PROC_MNGは,コスト情報収集時の管理で使用するプロセス共通メモリの所要量を求めるときに使用します。次に示す計算式から求めてください。
計算式(単位:キロバイト)
- 注※
-
監査証跡機能が有効な場合に加算してください。
変数の説明
- DIC
-
処理対象表の定義情報を取得するメモリ
「6.3.6 adbimportコマンド実行時のメモリ所要量の求め方」の「(1) プロセス共通メモリの所要量の求め方(adbimportコマンド実行時)」の「(a) 変数PROC_IMPTの求め方」の変数DICを参照して求めてください。
- IOA
-
データベースアクセスで使用するメモリ
- 計算式(単位:キロバイト)
-
- TBL
-
処理対象表の管理で使用するメモリ
- 計算式(単位:キロバイト)
-
-
tbl_num
処理対象表の数
-
- DBSTA
-
データベース状態解析で使用するメモリ
- 計算式(単位:キロバイト)
-
- PROC_AUDINFSZ
-
「6.3.3 HADBサーバ開始時のメモリ所要量の求め方」の「(3) プロセス共通メモリの所要量の求め方(HADBサーバ開始時)」の「(t) 変数AUDINFの求め方」にある変数PROC_AUDINFSZを参照して求めてください。
(b) 変数PROC_CSTの求め方
変数PROC_CSTは,コスト情報収集時にバッファとして使用するプロセス共通メモリの所要量を求めるときに使用します。
adbgetcstコマンドの-tオプションを省略して実行した場合は,-uオプションに指定した認可識別子のスキーマ内のすべての表について,変数PROC_CSTを求めてください。その中で最も大きい値が,変数PROC_CSTとなります。
次に示す計算式から求めてください。
- 計算式(単位:キロバイト)
-
PROC_CST= DBHTBLINF+DICTBLINF
変数の説明
- DBHTBLINF
-
処理対象表のコスト情報を収集するときに使用するメモリ
計算式(単位:キロバイト)
- col_num
-
処理対象表の列数
- coldata(i)
-
各列のデータ長
「6.3.4 通常運用時のメモリ所要量の求め方」の「(2) リアルスレッド固有メモリの所要量の求め方(通常運用時)」の「(c) 変数RTHD_EXESQLSZの求め方」の「表6‒9 各データ型のデータ長の一覧」を参照して求めてください。
- collen(i)
-
各列の定義長
- sql_rthd_num
-
次に示す計算式から求めてください。
コスト情報収集オプションadb_getcst_rthd_numの指定値-1
- DICTBLINF
-
処理対象表のコスト情報をシステム表に格納するときに使用するメモリ
計算式(単位:キロバイト)
- col_num
-
処理対象表の列数
- b_tree_idx_num
-
処理対象表に定義されたB-treeインデクスの数
- text_idx_num
-
処理対象表に定義されたテキストインデクスの数
- row_size
-
処理対象表の行長
計算式
-
coldata(i):各列のデータ長
「6.3.4 通常運用時のメモリ所要量の求め方」の「(2) リアルスレッド固有メモリの所要量の求め方(通常運用時)」の「(c) 変数RTHD_EXESQLSZの求め方」の「表6‒9 各データ型のデータ長の一覧」を参照して求めてください。
-
(2) リアルスレッド固有メモリの所要量の求め方(adbgetcstコマンド実行時)
adbgetcstコマンド実行時のリアルスレッド固有メモリ(RTHD_GETCOSTSZ)の所要量は,次に示す計算式から求めてください。
- 計算式(単位:キロバイト)
-
RTHD_GETCOSTSZ= COSTSQL
- 変数の説明
-
- COSTSQL
-
コスト情報収集時に実行される検索系SQLで使用するメモリ
adbgetcstコマンドを実行すると,処理対象表のコスト情報を収集するために,次に示すSQL文が実行されます。
SELECT COUNT(*) FROM "対象表名" SELECT MIN("列名1"),MAX("列名1") FROM "対象表名" : SELECT MIN("列名n"),MAX("列名n") FROM "対象表名" SELECT * FROM "対象表名"
注 列名1~列名nは,対象表に定義されている列名です。
「6.3.4 通常運用時のメモリ所要量の求め方」の「(2) リアルスレッド固有メモリの所要量の求め方(通常運用時)」の「(c) 変数RTHD_EXESQLSZの求め方」および「(g) 変数RTHD_EXESQLDICSZの求め方」を参照して,検索系SQLの実行時に使用されるメモリの所要量を,処理対象表ごとに求めてください。その中で,最も大きい値を代入してください。