6.8.11 ローカルバッファ
ローカルバッファとは,ディスク上のRDエリアに格納されているデータを入出力するためのバッファのことで,プロセス固有メモリ上に確保されます。ローカルバッファの種類を次の表に示します。
ローカルバッファの種類 |
説明 |
---|---|
データの入出力に使用されるローカルバッファです。データ用ローカルバッファはRDエリア単位に割り当てます。 |
|
インデクスデータの入出力に使用されるローカルバッファです。インデクス用ローカルバッファはインデクス単位に割り当てます。 |
これらのローカルバッファを使用すると性能を向上できます。例えば,データ用ローカルバッファとインデクス用ローカルバッファを分けて定義すると,データの検索とインデクスの検索を同時に実行しても互いが独立して動作します。そのため,大量データの全件検索時などでもインデクスの入出力回数を削減でき,処理時間を短縮できます。ローカルバッファの概念を次の図に示します。
- 〈この項の構成〉
(1) ローカルバッファの適用基準
次に示す条件をすべて満たす場合にローカルバッファを定義します。
-
大量のデータを検索又は更新する
-
アクセス対象のRDエリアがほかのUAPからアクセスされない
また,HiRDBに常時接続するUAPはシステムへの影響(メモリの圧迫,プロセスの占有など)が大きいため,ローカルバッファを定義しないでください。
(2) ローカルバッファの割り当て方法
pdlbufferオペランドでローカルバッファを割り当てます。pdlbufferオペランドでのローカルバッファの割り当て例を次に示します。
- (例)
pdlbuffer -a localbuf01 -r RDAREA01,RDAREA02 -n 1000 1 pdlbuffer -a localbuf02 -i USER01.INDX01 -n 1000 2
- 〔説明〕
-
-
RDエリア(RDAREA01,RDAREA02)にデータ用ローカルバッファを割り当てます。
-
インデクス(USER01.INDX01)にインデクス用ローカルバッファを割り当てます。
-
pdlbufferオペランドについては,マニュアル「HiRDB システム定義」を参照してください。