3.5 表用DBエリアの容量見積もり

ここでは,表用DBエリアの容量見積もり方法について説明します。

<この節の構成>
(1) 表用DBエリアの容量見積もり計算式
(2) 表用DBエリアの総ページ数の計算式
(3) 格納ページ数の計算方法

(1) 表用DBエリアの容量見積もり計算式

表用DBエリアの容量は次に示す計算式から求めてください。

計算式

[図データ]
変数の説明
PGSZ:表用DBエリアのページ長(単位:バイト)
ASZ:表用DBエリアの共用メモリ1面分のサイズ(単位:バイト)
表用DBエリアの共用メモリ1面分のサイズについては,「3.4.4 DBエリアの共用メモリ面数を決めるときの検討項目」を参照してください。

(2) 表用DBエリア総ページ数の計算式

表用DBエリアの総ページ数は次に示す計算式から求めてください。

計算式

[図データ]
変数の説明
PGSZ:表用DBエリアのページ長(単位:バイト)
SS:表用DBエリアのセグメントサイズ
bf:次に示す計算式から求めてください。
[図データ]
SG:表用DBエリアの総セグメント数(次に示す計算式から求めてください)
[図データ]
TS:表用DBエリアに格納されている表の総数
Bi:各表を格納するために必要な基本行用ページ数
Ri:各表を格納するために必要な分岐行用ページ数
  Bi,Riについては,「(3)格納ページ数の計算方法」を参照してください。

(3) 格納ページ数の計算方法

格納ページ数の計算方法について説明します。

(a) 計算式中で使用する変数

計算式中で使用する変数を説明します。

a:表に格納する行の総数
PGSZ:表用DBエリアのページ長(単位:バイト)
pf:CREATE TABLE文のPCTFREE句で指定する未使用領域の比率(単位:%)
未使用領域の比率を指定しない場合は0%として計算してください。
作業表の場合は0%として計算してください。
ci:各列のデータ長(単位:バイト)
表3-3 各データ型のデータ長の一覧」を参照し,各列のデータ長を求めて,すべての列の合計を求めてください。
vi:分岐行の列の平均データ長(単位:バイト)
VARCHAR型の列については,「表3-4 分岐行となる列のデータ長の一覧」を参照して求めてください。
vn:分岐行として管理される列の列数
VARCHAR型の列の数を求めます。
e:表に定義した列の総数
(b) データ長一覧

計算式中で使用するデータ長は次の表から求めてください。また,分岐行となる列のデータ長は,「表3-4 分岐行となる列のデータ長の一覧」から求めてください。

表3-3 各データ型のデータ長の一覧

項番分類データ型データ長(単位:バイト)
1数データINTEGER4
2SMALLINT2
3DECIMAL(m,n)↓m÷2↓+1
4文字データCHARACTER(n)n
5VARCHAR(n)7
6時刻印データTIMESTAMP(p)7+p÷2
(凡例)
m,n:正の整数
p:0,2,4,または6
注※
全体のけた数がmけたで,小数点以下のけた数がnけたの固定小数点数を示します。mを省略した場合は29が仮定されます。

表3-4 分岐行となる列のデータ長の一覧

項番分類データ型データ長(単位:バイト)
1文字データVARCHAR(n)d
(凡例)
n:正の整数
d:実際のデータ長
(c) 変数Biの求め方

変数Biは次に示す計算式から求めてください。

計算式

[図データ]

変数Biの分母の括弧部は1ページに格納される行数であり,最小1,最大255となります。また,行長BLは次の計算式から求めてください。

計算式

[図データ]
注※
作業表の場合は,16+2×eになります。

なお,次に示す計算式を満たすようにpfの値を決定してください。

計算式

[図データ]
(d) 変数Riの求め方

変数Riは次に示す計算式から求めてください。

計算式

[図データ]