Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


5.8.2 行の種別ごとの格納ページ数の求め方

ここでは,各表を格納するために必要な基本行用ページ数(変数BP(i)),および各表を格納するために必要な分岐行用ページ数(変数VP(i))の求め方について説明します。

〈この項の構成〉

(1) 基本行用ページ数(変数BP(i))の求め方

基本行用ページ数(変数BP(i))は,次に示す計算式から求めてください。変数BP(i)の分母の括弧部は1ページに格納される行数であり,最小1,最大255となります。

計算式

[図データ]

変数の説明
  • row_num

    表に格納する行数(単位:個)

  • page_size

    データ用DBエリアのページサイズ(単位:バイト)

  • pctfree

    CREATE TABLE文のPCTFREEで指定する未使用領域の比率(単位:%)

    未使用領域の比率を指定しない場合は,30%と仮定して計算してください。

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

    計算式(pctfreeの値)

    [図データ]

また,行長ROWSZは次に示す計算式から求めてください。非FIX表(表オプションBRANCH ALLの指定なし),非FIX表(表オプションBRANCH ALLの指定あり)およびFIX表で計算式が異なります。

計算式(非FIX表で表オプションBRANCH ALLの指定なしの場合)

[図データ]

計算式(非FIX表で表オプションBRANCH ALLの指定ありの場合)

[図データ]

計算式(FIX表の場合)

[図データ]

変数の説明
  • col_num

    表の列の総数(単位:個)

  • col_size(i)

    各列のデータ長(単位:バイト)

    次に示す表を基に,各列のデータ長を求めてください。そのあとに,すべての列の合計を求めてください。

    表5‒6 各データ型のデータ長の一覧

    項番

    分類

    データ型

    データ長(単位:バイト)

    1

    数データ

    INTEGER

    8

    2

    SMALLINT

    4

    3

    DECIMAL(m,n)

    1≦m≦4

    2

    4

    5≦m≦8

    4

    5

    9≦m≦16

    8

    6

    17≦m≦38

    16

    7

    DOUBLE PRECISION

    8

    8

    文字データ

    CHARACTER(n)

    n

    9

    VARCHAR(n)

    基本行(実表)

    var_col_size

    10

    日時データ

    DATE

    4

    11

    TIME(p)

    3+↑p÷2↑

    12

    TIMESTAMP(p)

    7+↑p÷2↑

    13

    バイナリデータ

    BINARY(n)

    n

    14

    VARBINARY(n)

    基本行(実表)

    var_col_size

    (凡例)

    m,n:正の整数

    p:0,3,6,9または12

    注※

    全体の桁数がm桁で,小数点以下の桁数がn桁の固定小数点数を示します。mを省略した場合は38が仮定されます。

var_col_size:基本行内のVARCHAR型およびVARBINARY型の列のデータ長

次に示す表を基にデータ長を求めてください。

表5‒7 VARCHAR型およびVARBINARY型の列のデータ長の一覧

項番

表オプション

BRANCH ALLの指定有無

列定義

BRANCHの指定

定義長n

(単位:バイト)

データ長

(単位:バイト)

1

指定あり

9

2

指定なし

YES

11

3

NO

n≦255

d+2

4

n≧256

d+3

5

AUTOまたは指定なし

n≦255

d+2

6

n≧256

11

(凡例)

n:正の整数

d:実際のデータ長

−:該当しません。

(2) 分岐行用ページ数(変数VP(i))の求め方

分岐行用ページ数(変数VP(i))は,次に示す計算式から求めてください。

計算式

[図データ]

変数の説明
  • row_num

    表に格納する行数(単位:個)

  • var_num

    分岐行として管理される列の列数(単位:個)

    次に示す列の数を求めてください。

    表オプションBRANCH ALLの指定ありの場合

    ・VARCHAR型,およびVARBINARY型の列の数

    表オプションBRANCH ALLの指定なしの場合

    次のどれかに該当するVARCHAR型,およびVARBINARY型の列の数の合計

    ・列定義BRANCHにYESを指定した列

    ・定義長256バイト以上で列定義BRANCHにAUTOを指定した列

    ・定義長256バイト以上で列定義BRANCHを省略した列

  • page_size

    データ用DBエリアのページサイズ(単位:バイト)

  • pctfree

    CREATE TABLE文のPCTFREEで指定する未使用領域の比率(単位:%)

    未使用領域の比率を指定しない場合は,30%と仮定して計算してください。なお,pctfreeの値は,「5.8.2(1) 基本行用ページ数(変数BP(i))の求め方」の変数「pctfree」を参照して,計算式を満たすように値を決定してください。

  • var_size

    分岐行の列の平均データ長(単位:バイト)

    次に示す表を基に求めてください。

    表5‒8 分岐行となる列のデータ長の一覧

    分類

    データ型

    データ長(単位:バイト)

    文字データ

    VARCHAR

    d

    バイナリデータ

    VARBINARY

    d

    (凡例)

    d:実際のデータ長