10.1.4 グローバルバッファの割り当て方法
- 〈この項の構成〉
(1) インデクス用グローバルバッファを割り当てる場合
システム共通定義のpdbufferオペランドの-iオプションに,インデクス用グローバルバッファを割り当てるインデクスを,「認可識別子.インデクス識別子」の形式で指定します。
クラスタキーの場合はインデクス識別子をHiRDBが決定するため,クラスタキーを指定した表を定義した後に,ディクショナリ表のSQL_INDEXES表のINDEX_NAME列を検索してインデクス識別子を確認してください。クラスタキーのインデクス識別子は,次のように表示されます。
(CLUSTER表番号)
ディクショナリ表の検索方法とSQL_INDEXES表については,マニュアル「HiRDB UAP開発ガイド」を参照してください。
定義したインデクスにインデクス用グローバルバッファを割り当てる場合は,いったんHiRDBを正常終了し,pdbufferオペランドを指定してインデクス用グローバルバッファを割り当ててください。この作業を行わない場合,定義したインデクスはインデクス格納RDエリアに割り当てられているデータ用グローバルバッファを使用します。
- ●グローバルバッファ面数を見積もるときの考え方
-
グローバルバッファ面数は,インデクスの総ページ数(インデクスの格納ページ数として算出した値)以上とすることを原則とし,そこからインデクスの重要度によってグローバルバッファ面数を減らしてください。
インデクスの使用ページ数は,データベース状態解析ユティリティ(pddbst)で確認できます。
(3) LOB用グローバルバッファを割り当てる場合
次に示す手順で割り当てます。
-
システム共通定義のpdbufferオペランドの-rオプションでグローバルバッファに割り当てるLOB用RDエリア名を指定します。
-
システム共通定義のpdbufferオペランドの-bオプションでグローバルバッファに割り当てるLOB用RDエリア名を指定します。
(4) グローバルバッファの定義例
- RDエリアの構成
-
RDエリアの構成は次のとおりとします。
RDエリアの種類
RDエリア名
マスタディレクトリ用RDエリア
RDMAST
データディレクトリ用RDエリア
RDDIR
データディクショナリ用RDエリア
RDDIC
ユーザ用RDエリア
USER01,USER02,USER03
ユーザLOB用RDエリア
ULOB03
データディクショナリLOB用RDエリア
DICLOB01,DICLOB02
リスト用RDエリア
LIST01
- 定義例
-
グローバルバッファの定義例を次に示します。
pdbuffer -a DGB1 -n 1000 -r RDMAST,RDDIR,RDDIC 1 pdbuffer -a DGB2 -n 1000 -r USER01,USER02 pdbuffer -a DGB3 -n 1000 -r USER03 pdbuffer -a DGB4 -n 1000 -r ULOB03 pdbuffer -a DGB5 -n 1000 -r DICLOB01 pdbuffer -a DGB6 -n 1000 -r DICLOB02 pdbuffer -a DGB7 -n 1000 -r LIST01 pdbuffer -a LGB1 -n 1000 -b ULOB03 2 pdbuffer -a LGB2 -n 1000 -b DICLOB01 pdbuffer -a LGB3 -n 1000 -b DICLOB02 pdbuffer -a IGB1 -n 1000 -i USER1.INDX01 3 pdbuffer -a IGB2 -n 1000 -i USER1.INDX02
- 〔説明〕
-
-
データ用グローバルバッファの定義です。作成するすべてのRDエリアを-rオプションで指定します。
-
LOB用グローバルバッファの定義です。
-bオプションに指定しているRDエリアは,-rオプションでも指定しておく必要があります。
-
インデクス用グローバルバッファの定義です。-iオプションにインデクスの認可識別子とインデクス識別子を指定します。
この定義例に出てくるpdbufferオペランドのオプションを簡単に説明します。
-a:グローバルバッファの名称を指定します。
-n:グローバルバッファの面数を指定します。
-r:データ用グローバルバッファを割り当てるRDエリアを指定します。
-b:LOB用グローバルバッファを割り当てるLOB用RDエリアを指定します。
-i:インデクス用グローバルバッファを割り当てるインデクスを指定します。
-