15.4 リスト用RDエリアの設計

<この節の構成>
(1) リスト用RDエリアの必要数
(2) ページ長,セグメントサイズの求め方
(3) セグメント数の求め方

(1) リスト用RDエリアの必要数

1リスト用RDエリアに作成できるリストの最大数は,次に示すオペランドで指定します。

指定できる最大数は500~50000です。

(2) ページ長,セグメントサイズの求め方

リストにはリストの基表の行識別子が格納されます。表のように直接データを格納しないので,1ページ内に比較的大量の行を格納できます。したがって,ページ長及びセグメントサイズをリストに格納する行数に比べて大きく設定した場合,RDエリア内に余分な空き領域が発生するので注意してください。

リスト用RDエリアのページ長,セグメントサイズを決定する場合,あらかじめサーバ内に作成するリストの平均行数をおおよそ見積もり,次に示すどれかのケースに基づいてページ長及びセグメントサイズを設定してください。

条件ページ長セグメントサイズ
サーバ内に作成するリストの平均行数が3000行未満の場合40961
サーバ内に作成するリストの平均行数が3000行~6000行の場合40962
サーバ内に作成するリストの平均行数が6000行を超える場合(a)参照(b)参照
(a) リストの平均行数が6000行を超える場合のページ長の求め方

ページ長は,通常4096~8192バイトの範囲にしてください。ただし,リストの入出力回数を減らしてリストの入出力時間を短縮したい場合は,ページ長を大きくしてもかまいません。ただし,ページ長を大きくすると,グローバルバッファの必要量も大きくなるため,共用メモリが大量に必要となるので注意してください。

なお,ページ長は次に示す計算式を満たす値にしてください。

計算式
リストの1ページに格納できる行数≦ サーバ内に作成するリストの平均行数÷2

リストの1ページに格納できる行数は,次に示す計算式から求めます。

リストの1ページに格納できる行数=↓{ページ長-70-(a×8)}÷4↓
a:サーバ内のリストの基表を格納しているRDエリアのHiRDBファイルの総数
(b) リストの平均行数が6000行を超える場合のセグメントサイズの求め方

セグメントサイズは1リストへのRDエリア内領域の割り当て単位です。したがって,1セグメントが1リストへの最低割り当てサイズとなります。セグメントサイズの目安を次に示します。

(3) セグメント数の求め方

リスト用RDエリアに必要なセグメント数は,次に示す計算式から求めます。

計算式
リスト用RDエリアに必要なセグメント数=↑{↑a÷b↑×(c+0.5)}↑
a:サーバ内のリストの数
b:サーバ内のリスト用RDエリアの数
c:1リストが使用するセグメント数の平均値
次に示す計算式から求めます。
↑サーバ内のリストの平均行数÷リストの1セグメントに格納できる行数↑

セグメント数が不足すると,リストが作成できなくなるため,実際には上記の計算式で見積もったセグメント数に余裕を持たせてください。