Hitachi

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


6.25.2 ローカル作業表用バッファのページ数の見積もり

ここでは,ローカル作業表が使用するローカル作業表用バッファのページ数の見積もり方について説明します。ローカル作業表とは,リアルスレッドごとに作成される,リアルスレッド固有の作業表のことです。

ローカル作業表用バッファのページ数を求めたら,求めた値以上の値をサーバ定義のadb_dbbuff_wrktbl_clt_blk_numオペランドに指定してください。詳細については,「7.2.2 性能に関するオペランド(set形式)」のadb_dbbuff_wrktbl_clt_blk_numオペランドを参照してください。

また,必要に応じて次に示すオペランドおよびオプションにも指定してください。

ローカル作業表用バッファのページ数を求める計算式を次に示します。

計算式(単位:ページ数)

[図データ]

変数の説明

ASQL文の実行時に作成される作業表の数×2

Bサーバ定義のadb_sys_uthd_numオペランドの値

SQL文の実行時に作成される作業表の数については,マニュアルHADB AP開発ガイドAPの性能向上に関する設計作業表が作成されるSQLを実行する際の考慮点を参照して求めてください。作業表の数を求める際の注意点を次に示します。

SQL文の実行時に作成される作業表の数の計算例を次に示します。

(例)

次に示すSQL文の実行時に作成される作業表の数を求めます。

SELECT "C1","C2","C3" FROM "T1"
  WHERE "C1"=ANY(                                         ...1
                SELECT COUNT(DISTINCT "C3") FROM "T2"
                  WHERE "T1"."C1"="C2" GROUP BY "C1")     ...2
                  ORDER BY "C1","C2","C3"                 ...3
[説明]
  1. 限定述語のための作業表が作成されます。ただし,外への参照列("T1"."C1")を含む副問合せのため,作成される作業表の数は次の計算式で求めます。

    [図データ]

  2. GROUP BY句のソート処理で使うための作業表が作成されます。ただし,外への参照列("T1"."C1")を含む副問合せのため,作成される作業表の数は次の計算式で求めます。

    [図データ]

  3. ORDER BY句のソート処理で使う作業表が作成されます。この場合,作成される作業表は1つです。

上記のSQL文の実行時に作成される作業表の数は,1〜3の合計となります。