グローバルバッファが使用する共用メモリサイズは,pdbuffer文ごとに計算式1で求めます。pd_dbbuff_modifyオペランドにYを指定している場合は,計算式2を加算します。計算式1及び2で求めた値を合計した値が,グローバルバッファが使用する共用メモリの所要量です。
なお,pdbufferオペランドを省略した場合,HiRDBが共用メモリサイズを自動計算するので見積もりは必要ありません。
計算式の種類 | 共用メモリの計算式(単位:キロバイト) |
---|
計算式1 | ●32ビットモードの場合 n Σ{《管理領域部》+《データ格納部》}÷1024 i=1
- 《管理領域部》:
- ↑{736+64+(296+64※1)×(Pi+4)
- +(124+80※2+96×A×Mi)×Ui}÷4096↑×4096
- 《データ格納部》:
- Si×{Pi+4+(Ui×Mi×A)}
●64ビットモードの場合 n Σ{《管理領域部》+《データ格納部》}÷1024 i=1
- 《管理領域部》:
- ↑{928+64+(480+112※1)×(Pi+4)
- +(176+96※2+136×A×Mi)×Ui}÷4096↑×4096
- 《データ格納部》:
- Si×{Pi+4+(Ui×Mi×A)}
|
計算式2 | ●32ビットモードの場合 {↑[((s×1024÷4)÷8)+112]÷4096↑×4096×↑a÷(s×1024)↑ } ●64ビットモードの場合 {↑[((s×1024÷4)÷8)+144]÷4096↑×4096×↑a÷(s×1024)↑ } |
- n:グローバルバッファプール数
- i:計算対象のグローバルバッファプール定義
- P:グローバルバッファ面数
- A:非同期READ機能を使用する場合は2,使用しない場合は1
- M:一括入力最大ページ数
- pd_max_ard_processオペランドに1以上を指定した場合は指定値の2倍です。
- U:同時実行最大プリフェッチ数
- S:グローバルバッファに割り当てたRDエリアの最大ページ長
- s:SHMMAX指定値
- a:計算式1の総計
- 注※1 LOB用グローバルバッファの場合に加算します。
- 注※2 pd_max_ard_processオペランドに1以上を指定した場合に加算します。