Hitachi

ノンストップデータベース HiRDB Version 10 システム導入・設計ガイド(UNIX(R)用)


15.2.1 通常のデータディクショナリ用RDエリアの容量の見積もり

〈この項の構成〉

(1) データディクショナリ用RDエリアの容量の求め方

create rdarea文にdatadictionary又はdatadictionary of routinesを指定する場合のデータディクショナリ用RDエリアの容量は,次に示す計算式で求めます。

計算式
データディクショナリ用RDエリアの容量(単位:バイト)
 =a×b×1.3+c×125+1600000
●拡張システム定義スカラ関数を定義する場合に加算します。
 +1933312

a:データディクショナリ用RDエリアのページ長※1

b:データディクショナリ用RDエリアの総ページ数※2

c:データディクショナリ用RDエリアのセグメントサイズ※3

注※1

データベース初期設定ユティリティ(pdinit)又はデータベース構成変更ユティリティ(pdmod)のcreate rdarea文で指定するページ長です。

注※2

「表の格納ページ数+インデクスの格納ページ数」です。「表の格納ページ数の計算方法」及び「インデクスの格納ページ数の計算方法」を参照してください。

注※3

データベース初期設定ユティリティ(pdinit)又はデータベース構成変更ユティリティ(pdmod)のcreate rdarea文で指定するセグメントサイズです。

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

表の格納ページ数(単位:ページ)は,計算式1〜計算式24の総和になります。

(a) 計算式1

ディクショナリ表名

計算式

SQL_TABLES

[図データ]

SQL_COLUMNS

[図データ]

SQL_DIV_TABLE

[図データ]

a:表の総数(個)

b:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

c:列の名称長の平均値(バイト)

d:表を格納するRDエリアの名称長の平均値(バイト)

e:表の注釈長の平均値(バイト)

f:表の横分割条件を指定する列の名称長の平均値(バイト)

g:表の列数の平均値(個)

h:認可識別子の長さの平均値(バイト)

i:表識別子の長さの平均値(バイト)

j:列の注釈長の平均値(バイト)

k:ビュー表の基になる表の認可識別子の長さの平均値(バイト)

m:ビュー表の基になる表の表識別子の長さの平均値(バイト)

n:ビュー表の基になる表の列の名称長の平均値(バイト)

p:ユーザ定義型の名称長の平均値(バイト)

q:表の横分割条件数の平均値(個)

t:PLUGIN句指定長の平均値(バイト)

v:分割キーの長さの平均値(バイト)

w:挿入履歴保持列の名称の平均値(バイト)

y:DEFAULT句に指定した既定値の実長の平均値(バイト)

実長の算出方法は,マニュアル「HiRDB UAP開発ガイド」の「SQL記述領域に設定するデータコードとデータの長さ」を参照してください。

A:DEFAULT句に指定した既定値の長さの平均値(バイト)

指定した既定値が定数の場合は,定数表現の長さです。既定値の長さを長く変更する可能性がある場合は変更後の長さを考慮して算出してください。文字型の定数の場合,各国文字列定数を表すN,混在文字列定数を表すM,16進文字列定数を表すX,引用符(’)を長さに含みます。それ以外は指定した既定値のバイト数です。

(例)

'HiRDB':7バイト

N'HiRDB':13バイト

X'4869524442':13バイト

CURRENT_TIME:12バイト

100:3バイト

B:表の横分割条件長の平均値(バイト)

C:表格納用RDエリア指定数(個)

(b) 計算式2

ディクショナリ表名

計算式

SQL_INDEXES

[図データ]

SQL_INDEX_

COLINF

[図データ]

SQL_DIV_INDEX

[図データ]

SQL_EXCEPT

[図データ]

SQL_INDEX_

DATATYPE

[図データ]

SQL_INDEX_

FUNCTION

[図データ]

SQL_INDEX_

XMLINF

[図データ]

a:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

b:表識別子の長さの平均値(バイト)

c:インデクスの総数(個)

d:インデクス識別子の長さの平均値(バイト)

e:1インデクス当たりのインデクス除外キー値数の平均値(個)

f:認可識別子の長さの平均値(バイト)

g:列の名称長の平均値(バイト)

i:表の横分割条件数の平均値(個)

j:インデクスを格納するRDエリアの名称の長さの平均値(バイト)

k:インデクスを構成する列数の平均値(個)

m:インデクス型名称の長さの平均値(バイト)

n:PLUGIN句指定長の平均値(バイト)

p:プラグインインデクス適用関数名称の長さの平均値(バイト)

q:抽象データ型名称の長さの平均値(バイト)

r:属性名称の長さの平均値(バイト)

s:1プラグインインデクス当たりの適用関数の数(個)

t:プラグインインデクスの総数(個)

u:部分構造パス長の平均値(バイト)

v:部分構造インデクスを構成する部分構造パス数の平均値(個)

w:データ長が256バイト以上で,かつ分岐するバイナリデータ(部分構造パス用解析ツリー)数の平均値(個)

バイナリデータの格納ページ数の分岐条件については,表「データ長一覧」を参照してください。

y:部分構造インデクスの総数(個)

A:部分構造パス用解析ツリー長(バイト)

次の計算式で求められる値になります。

S×120+P+L+S×4+32

L:ステップ式の修飾名に指定した局所名の文字列表現長の合計値(バイト)

P:接頭辞に関連づけたXML名前空間URIの文字列表現長の合計値(バイト)

接頭辞を省略した場合は,省略時に関連づけられるXML名前空間URI

S:ステップ式の指定数(個)

注※ 4の倍数に切り上げてください。

(c) 計算式3

ディクショナリ表名

計算式

SQL_TABLE_

PRIVILEGES

[図データ]

SQL_RDAREA_

PRIVILEGES

[図データ]

SQL_VIEW_

TABLE_USAGE

[図データ]

SQL_VIEWS

[図データ]

SQL_VIEW_DEF

[図データ]

a:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

b:認可識別子の長さの平均値(バイト)

c:表識別子の長さの平均値(バイト)

d:アクセス権限の定義数(個)
  • 一つの表に対してn人に権限を与えた場合は,権限を与えた表数×n個と計算します。

  • PUBLICに対して権限を与えた場合は,1人として計算します。

  • グループに対して権限を与えた場合は,一つのグループIDを1人として計算します。

e:RDエリアの総数(個)

f:表を格納するRDエリアの名称の長さの平均値(バイト)

g:ビュー表を定義するときのSQL文の長さの平均値(バイト)

h:ビュー定義の総数(個)

j:ビュー解析情報の平均長(バイト)

1ビュー表当たりのビュー解析情報長については,マニュアル「HiRDB システム定義」の「ビュー解析情報用バッファ長(pd_view_def_cache_size)の見積もり式」を参照してください。

注※ システムが使用する表です。

(d) 計算式4

ディクショナリ表名

計算式

SQL_REFERENTIAL_

CONSTRAINTS

[図データ]

E:{e×h+2×h+(h−1)}+1

F:{e×i+2×i+(i−1)}+1

G:{2×h+(h−1)}+1

H:{2×i+(i−1)}+1

a:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

b:制約名称の長さの平均値(バイト)

c:認可識別子の長さの平均値(バイト)

d:表識別子の長さの平均値(バイト)

e:外部キーを定義した列名の長さの平均値(バイト)

f:主キーを定義した列名の長さの平均値(バイト)

h:外部キーを構成する列数の平均値(個)

i:主キーを構成する列数の平均値(個)

(e) 計算式5

ディクショナリ表名

計算式

SQL_PHYSICAL_

FILES

[図データ]

SQL_RDAREAS

[図データ]

SQL_USERS

[図データ]

a:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

b:RDエリアの総数(個)

c:RDエリアの名称の長さの平均値(バイト)

d:スキーマの認可識別子の長さの平均値(バイト)

e:総スキーマ総数(個)

f:全RDエリアを構成するHiRDBファイルの総数(個)

g:全RDエリアを構成するHiRDBファイルの名称の長さの平均値(バイト)

h:パスワード長の平均値(バイト)

i:スキーマ操作権限対象のスキーマ名長の平均値(バイト)

(f) 計算式6

ディクショナリ表名

計算式

SQL_DIV_TABLE_

REGULARIZE

[図データ]

a:横分割表の総数(個)

b:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

c:表を格納するRDエリアの名称長の平均値(バイト)

d:表の横分割条件数の平均値(個)

e:認可識別子の長さの平均値(バイト)

f:表識別子の長さの平均値(バイト)

g:表の横分割条件を指定する列が文字列のときの条件値長の平均値(バイト)

h:表の横分割条件を指定する列が数値列のときの条件値長の平均値(バイト)

注※ システムが使用する表です。

(g) 計算式7

ディクショナリ表名

計算式

SQL_TABLE_

STATISTICS※1

[図データ]

SQL_COLUMN_

STATISTICS※1

[図データ]

SQL_INDEX_

STATISTICS※1

[図データ]

a:最適化情報を取得する表の総数(個)

b:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

c:列の名称長の平均値(バイト)

e:認可識別子の長さの平均値(バイト)

f:表識別子の長さの平均値(バイト)

g:最適化情報を取得する表に定義するインデクスの総数(個)

h:インデクス識別子の長さの平均値(バイト)

i:最適化情報を取得する表に定義するインデクスのキー列値数※2(個)

注※1 システムが使用する表です。

注※2 キー列値数 < 100の場合,i=キー列値数

  キー列値数 ≧ 100の場合,i=100

(h) 計算式8

ディクショナリ表名

計算式

SQL_DIV_

COLUMN

[図データ]

a:LOB列を定義した表の総数(個)

b:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

c:列の名称長の平均値(バイト)

d:表を格納するRDエリアの名称の長さの平均値(バイト)

e:認可識別子の長さの平均値(バイト)

f:表識別子の長さの平均値(バイト)

h:コンポネント名称の長さの平均値(バイト)

(i) 計算式9

ディクショナリ表名

計算式

SQL_ROUTINES

[図データ]

SQL_ROUTINE_

RESOURCES

[図データ]

SQL_ROUTINE_

PARAMS

[図データ]

a:ルーチンの総数(個)

b:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

c:ルーチン名称の長さの平均値(バイト)

d:認可識別子の長さの平均値(バイト)

e:特定名※1の長さの平均値(バイト)

f:パラメタ名称の長さの平均値(バイト)

g:リソース※2の所有者の認可識別子の長さの平均値(バイト)

h:リソース※2名称の長さの平均値(バイト)

i:1ルーチン当たりのリソース※2数の平均値(個)

j:1ルーチン当たりのパラメタ数の平均値(個)

k:抽象データ型の名称長の平均値(バイト)

m:ユーザ定義型の名称長(戻り値)の平均値(バイト)

n:外部ルーチン名称長の平均値(バイト)

p:Javaクラス名称長の平均値(バイト)

q:Javaアーカイブ名称長の平均値(バイト)

r:Java戻り値のデータ型名称長の平均値(バイト)

s:Javaパラメタデータ型の名称長の平均値(バイト)

t:新旧値相関名で使用した列名称の長さの平均値(バイト)

注※1 「認可識別子.ルーチン識別子」を表しています。

注※2 表及びインデクスを表しています。

(j) 計算式10

ディクショナリ表名

計算式

SQL_DATATYPES

[図データ]

SQL_DATATYPE_

DESCRIPTORS

[図データ]

a:ユーザ定義型の総数(個)

b:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

c:属性又はフィールド名の長さの平均値(バイト)

d:ユーザ定義型の注釈の長さの平均値(バイト)

e:1データ型当たりの属性数の平均値(個)

f:認可識別子の長さの平均値(バイト)

g:データ型識別子の長さの平均値(バイト)

h:スーパタイプの抽象データ型の認可識別子の長さの平均値(バイト)

i:スーパタイプの抽象データ型のデータ識別子の長さの平均値(バイト)

j:ユーザ定義型で定義された属性数(個)

k:ユーザ定義型で定義された属性の抽象データ型の認可識別子の長さの平均値(バイト)

m:ユーザ定義型で定義された属性の抽象データ型のデータ識別子の長さの平均値(バイト)

(k) 計算式11

ディクショナリ表名

計算式

SQL_PLUGINS

[図データ]

SQL_PLUGIN_

ROUTINES

[図データ]

SQL_PLUGIN_

ROUTINE_PARAMS

[図データ]

a:1プラグイン当たりのプラグインルーチン数の平均値(個)

b:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

c:ルーチン名称の長さの平均値(バイト)

d:認可識別子の長さの平均値(バイト)

e:特定名の長さの平均値(バイト)

f:1プラグイン当たりのパラメタ名称の長さの平均値(バイト)

i:1ルーチン当たりのリソース数の平均値(個)

k:プラグインの総数(個)

m:プラグイン名称の長さの平均値(バイト)

n:抽象データ型/インデクス型名称の長さの平均値(バイト)

o:プラグインライブラリパス名称の長さの平均値(バイト)

p:プラグインの注釈の長さの平均値(バイト)

q:契機指示子の長さの平均値(バイト)

r:オペレーション修飾子の平均値(バイト)

s:オペレーション修飾コード長の平均値(バイト)

t:パラメタ修飾情報長の平均値(バイト)

u:バインドオペレーション名称長の平均値(バイト)

v:パラメタ修飾情報コード長の平均値(バイト)

注※ 「認可識別子.ルーチン識別子」を表しています。

(l) 計算式12

ディクショナリ表名

計算式

SQL_INDEX_TYPES

[図データ]

SQL_INDEX_TYPE_

FUNCTION

[図データ]

a:インデクス型の総数(個)

b:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

c:認可識別子の長さの平均値(バイト)

d:インデクス型識別子の長さの平均値(バイト)

e:抽象データ型名称の長さの平均値(バイト)

f:1インデクス型当たりの適用関数の数(個)

(m) 計算式13

ディクショナリ表名

計算式

SQL_INDEX_

RESOURCES

[図データ]

SQL_TYPE_

RESOURCES

[図データ]

SQL_TABLE_

RESOURCES

[図データ]

a:プラグインインデクスの総数(個)

b:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

c:認可識別子の長さの平均値(バイト)

d:インデクス型識別子の長さの平均値(バイト)

e:抽象データ型名称の長さの平均値(バイト)

g:抽象データ型で定義された属性の総数(個)

h:サブタイプとして定義された抽象データ型の総数(個)

i:抽象データ型の総数(個)

j:表識別子の平均長(バイト)

(n) 計算式14

ディクショナリ表名

計算式

SQL_IOS_GENERATIONS

[図データ]

a:レプリカRDエリアを構成するHiRDBファイル数(個)

b:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

c:RDエリアを構成するHiRDBファイルの名称長の平均値(バイト)

(o) 計算式15

ディクショナリ表名

計算式

SQL_TRIGGERS

[図データ]

SQL_TRIGGER_ACTCOND

[図データ]

SQL_TRIGGER_COLUMNS

[図データ]

SQL_TRIGGER_DEF_SOURCE

[図データ]

SQL_TRIGGER_USAGE

[図データ]

a:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

b:トリガ定義の総数(個)

c:トリガ認可識別子の長さの平均値(バイト)

d:トリガ名称の長さの平均値(バイト)

e:トリガを定義した表の認可識別子の長さの平均値(バイト)

f:トリガを定義した表名称の長さの平均値(バイト)

g:旧値相関名称の長さの平均値(バイト)

h:新値相関名称の長さの平均値(バイト)

i:トリガ動作手続きの特定名称の長さの平均値(バイト)

j:トリガ定義時のSQL文の長さの平均値(バイト)

k:UPDATE文を契機とするトリガの定義数(個)

m:トリガの実行契機となる列に指定した列名称の長さの平均値(バイト)

n;トリガの実行契機となる列に指定した列数の平均値(個)

p:トリガ動作の探索条件中のリソース数(個)

q:トリガ動作の探索条件中のリソースの認可識別子の長さの平均値(バイト)

r:トリガ動作の探索条件中のリソースの表名称の長さの平均値(バイト)

s:トリガ動作の探索条件中のリソースの特定名称の長さの平均値(バイト)

t:トリガ動作条件の解析ツリー長(バイト)

次の計算式で求められる値になります。なお,この計算式中の変数はすべてWHENの探索条件での指定内容です。

S×36+T+U×48+V×128

+F1×420+F2×132+F3×124+F4×296+F5×F4×132

+A×140+B×200+1000

A:コンポーネント指定の属性数(個)

B:値式に現れる抽象データ型の数(個)

F1:システム定義スカラ関数の数(個)

F2:システム定義スカラ関数の引数の数(個)

F3:ユーザ定義関数の数(個)

F4:ユーザ定義関数の候補となる関数の数(個)

F5:ユーザ定義関数の引数の数(個)

S:論理演算子,算術演算子,定数,及びシステム組込みスカラ関数の合計数(個)

T:定数(HiRDBで解釈するデータ型)の合計長(バイト)

U:スカラ関数VALUE,CASE式,CAST指定中の値式の数(個)

V:列指定の数(個)

注※ システムが使用する表です。

(p) 計算式16

ディクショナリ表名

計算式

SQL_PARTKEY

[図データ]

SQL_PARTKEY_DIVISION

[図データ]

SQL_DIV_TYPE

[図データ]

a:作成するマトリクス分割表の数(個)

b:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

c:表の横分割条件値数の平均値(個)

d:表の横分割条件を指定する列の名称長の平均値(バイト)

f:認可識別子の長さの平均値(バイト)

g:表識別子の長さの平均値(バイト)

h:表の横分割条件値の長さの平均値(バイト)

n:境界値指定のキーレンジ分割とハッシュ分割を組み合わせたマトリクス分割表の数(個)

(q) 計算式17

ディクショナリ表名

計算式

SQL_AUDITS

[図データ]

a:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

b:監査対象イベントの数(個)(CREATE AUDITの実行回数(回))

c:イベントタイプ名称の長さの平均値(バイト)

d:イベントサブタイプ名称の長さの平均値(バイト)

e:オブジェクトタイプ名称の長さの平均値(バイト)

f:オブジェクトの所有者名称の長さの平均値(バイト)

g:オブジェクト名称の長さの平均値(バイト)

h:イベント実行者の名称の長さの平均値(バイト)

(r) 計算式18

ディクショナリ表名

計算式

SQL_AUDIT_REGULARIZE

[図データ]

a:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

b:監査証跡の絞り込みに指定したオブジェクト数とイベント実行者の総数 + 1(個)

c:オブジェクトタイプ名称の長さの平均値(バイト)

d:オブジェクトの所有者名称の長さの平均値(バイト)

e:オブジェクト名称の長さの平均値(バイト)

f:イベント実行者の名称の長さの平均値(バイト)

注※ システムが使用する表です。

(s) 計算式19

ディクショナリ表名

計算式

SQL_KEYCOLUMN_USAGE

[図データ]

a:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

b:制約定義の総数(個)

c:制約認可識別子の長さの平均値(バイト)

d:制約名称の長さの平均値(バイト)

e:制約を定義した表の認可識別子の長さの平均値(バイト)

f:制約を定義した表名称の長さの平均値(バイト)

g:制約の種類名称の長さの平均値(バイト)

(t) 計算式20

ディクショナリ表名

計算式

SQL_TABLE_CONSTRAINTS

[図データ]

SQL_CHECKS

[図データ]

SQL_CHECK_COLUMNS

[図データ]

a:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

b:制約定義の総数(個)

c:制約認可識別子の長さの平均値(バイト)

d:制約名称の長さの平均値(バイト)

e:制約を定義した表の認可識別子の長さの平均値(バイト)

f:制約を定義した表名称の長さの平均値(バイト)

g:制約の種類名称の長さの平均値(バイト)

h:検査制約定義時のSQL文の長さの平均値(バイト)

i:検査制約の定義数(個)

j:検査制約を定義した列に指定した列名称の長さの平均値(バイト)

k:検査制約を定義した列に指定した列数の平均値(個)

m:バイナリデータ(検査制約の探索条件,検査制約用解析ツリー)のデータ長が256以上,かつ分岐する平均バイナリデータ数

バイナリデータの格納ページ数の分岐条件については,「表の格納ページ数の計算方法」を参照してください。

X:検査制約用解析ツリー長(バイト)

次の計算式で求められる値になります。なお,この計算式中の変数はすべて検査制約の探索条件の指定です。

32ビットモードの場合:S×36+T+(U1+U2+U3)×48+V×128+1000

64ビットモードの場合:S×72+T+(U1+U2+U3)×96+V×184+1400

S:論理演算子,算術演算子(+,−,*,/,又は||),及びシステム組み込みスカラ関数の合計数(個)

T:定数(HiRDBで解釈するデータ型)の長さの合計値(バイト)

U1:CASE式,CAST指定中の値式の数(個)

U2:スカラ関数(VALUE,SUBSTR,BIT_AND_TEST,POSITION,TIMESTAMP,VARCHAR_FORMAT,TIMESTAMP_FORMAT)の値式の数(個)

U3:日時書式の数(個)

V:列指定の数(個)

(u) 計算式21

ディクショナリ表名

計算式

SQL_SYSPARAMS

[図データ]

(v) 計算式22

ディクショナリ表名

計算式

SQL_PUBLICVIEW_

SAME_USERS

[図データ]

a:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

b:パブリックビュー表の総定義数(個)

c:パブリックビュー表ごとの重複名数の平均値(バイト)

d:パブリックビュー表の表識別子の長さの平均値(バイト)

e:認可識別子の長さの平均値(バイト)

注※

パブリックビュー表の表識別子ごとにSQL_TABLES表のTABLE_NAME列が同じ値となる行数の平均値

(w) 計算式23

ディクショナリ表名

計算式

SQL_SEQUENCES

[図データ]

a:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

b:順序数生成子の総定義数(個)

c:順序数生成子識別子の長さの平均値(バイト)

d:認可識別子の長さの平均値(バイト)

e:順序数生成子開始値の長さの平均値(バイト)

f:順序数生成子最大値の長さの平均値(バイト)

g:順序数生成子最小値の長さの平均値(バイト)

h:順序数生成子増分値の長さの平均値(バイト)

i:RDエリア名称の長さの平均値(バイト)

(x) 計算式24

ディクショナリ表名

計算式

SQL_ACCESS_SECURITY

[図データ]

a:次に示すどちらかを代入します。
  • pd_dbreuse_remaining_entriesオペランドの指定値がONLY_USER又はNOTHINGの場合

    データディクショナリ用RDエリアのページ長−510(バイト)

  • pd_dbreuse_remaining_entriesオペランドの指定値が上記以外の場合

    データディクショナリ用RDエリアのページ長(バイト)

b:接続制約の総数(個)

c:接続制約名称の長さの平均値(バイト)

d:IPアドレスの長さの平均値(バイト)

e:認可識別子の長さの平均値(バイト)

(3) インデクスの格納ページ数の計算方法

インデクスの格納ページ数は,次に示す計算式で求めます。

計算式
インデクスの格納ページ数(単位:ページ)
        =ディクショナリ表のインデクスを格納するページ数+12
注※

インデクスの格納ページ数の計算方法」を参照し,ディクショナリ表のインデクスを格納するページ数を計算してください。また,このときの計算条件を次に示します。

  1. 計算式には,表「インデクスの格納ページ数を求める計算式に代入する変数一覧」に示す変数を代入します。

  2. 変数b(CREATE INDEXで指定する未使用領域の比率)は30とします。

  3. 変数e及びf(キー値の重複がdx+1以上のキーの種類の個数及びキーの重複数の平均値)は12とします。

    表15‒6 インデクスの格納ページ数を求める計算式に代入する変数一覧

    表名

    種別

    キー長※3

    (変数g ※1

    キーの種類の個数

    (変数c ※1

    キーの重複数の平均値

    (変数d ※1

    SQL_PHYSICAL_FILES

    1

    8

    サーバ数

    サーバ内のHiRDBファイル数の平均値

    2

    g+1

    RDエリア数

    RDエリアを構成する HiRDBファイル数の平均値

    SQL_RDAREAS

    3

    g+1

    RDエリア数

    1

    4

    4

    151

    8

    オリジナルRDエリア数×インナレプリカグループ内のレプリカRDエリアの数の平均値

    +2

    ↑RDエリアの総数÷キーの種類の数↑

    152

    4

    オリジナルRDエリア数+1

    ↑RDエリアの総数÷キーの種類の数↑

    SQL_TABLES

    5

    d+e+2

    表の総数+80

    1

    6

    4

    SQL_COLUMNS

    7

    d+e+f+3

    a×b

    1

    8

    d+e+6

    9

    4

    b

    SQL_INDEXES

    10

    d+e+2

    a

    ↑h÷a↑

    11

    d+i+2

    h

    1

    12

    4

    SQL_USERS

    13

    d+1

    認可識別子の数

    1

    153

    d+1

    スキーマ操作権限対象のスキーマ数

    ↑スキーマ操作権限を付与されたユーザ数÷スキーマ操作権限対象のスキーマ数↑

    SQL_RDAREA_PRIVILEGES

    14

    d+1

    データベース初期設定ユティリティ(pdinit)のUSER USED BYオペランドで指定する認可識別子を重複排除した数

    1ユーザ当たりの平均RDエリア利用権限使用数

    15

    g+1

    データベース初期設定ユティリティ(pdinit)のUSER USED BYオペランドで指定するRDエリアの数

    1RDエリア当たりの平均使用ユーザ数

    SQL_TABLE_PRIVILEGES

    16

    d+1

    a

    ↑y÷a↑

    17

    2×d+e+3

    y

    1

    SQL_DIV_TABLE

    18

    d+e+6

    表の横分割数の総数

    1

    19

    g+1

    表を横分割したときに指定するRDエリアを重複排除した数

    RDエリアに格納する表数の平均値

    20

    4

    SQL_DIV_TABLE_REGULARIZE

    21

    d+e+6

    表の横分割数の総数

    1

    22

    4

    横分割表の数

    表の横分割数の平均値

    SQL_INDEX_COLINF

    23

    d+e+6

    インデクス定義のある表を重複排除した数

    インデクスを構成する列数の平均値

    24

    d+i+6

    インデクスの構成列数

    1

    SQL_TABLE_STATISTICS

    25

    d+e+2

    表の総数(ディクショナリ表もカウントの対象とします)

    1

    SQL_COLUMN_STATISTICS

    26

    d+e+f+3

    h

    1

    SQL_INDEX_STATISTICS

    27

    d+e+2

    インデクスを定義する表の総数

    ↑h÷a↑

    28

    d+i+2

    h

    1

    SQL_VIEW_TABLE_

    USAGE

    29

    d+e+2

    z

    1

    30

    d+e+2

    ビュー定義をする基表の数

    1表当たりのビュー定義数の平均値

    31

    4

    z

    1

    SQL_VIEWS

    32

    d+e+2

    z

    1

    33

    4

    SQL_VIEW_DEF

    34

    d+e+2

    z

    1

    35

    10

    SQL_REFERENTIAL_CONSTRAINTS

    39

    d+e+2

    参照制約の総数

    1

    40

    d+e+2

    参照表の総数

    1表当たりの参照表数の平均値

    41

    d+e+2

    被参照表の総数

    1表当たりの被参照表数の平均値

    SQL_EXCEPT

    86

    d+e+2

    除外値指定をしたインデクスの数

    一つの表に除外値指定をしたインデクスの数

    87

    d+i+2

    1

    88

    4

    除外値指定をしたインデクスを持つ表を重複排除した数

    一つの表に除外値指定をしたインデクスの数

    SQL_DIV_INDEX

    36

    d+e+6

    横分割インデクス数×分割数

    1

    37

    d+i+2

    横分割インデクスの総数

    1表当たりの平均分割数

    SQL_DIV_COLUMN

    38

    d+e+f+3

    LOB列の定義数

    1表当たりの平均横分割数

    52

    d+e+9

    LOB属性の定義数

    1

    SQL_ROUTINES

    43

    d+MAX(q,7)

    p+174

    1

    44

    d+MAX(t,18)

    u+65

    1

    45

    4

    p+174

    1

    53

    d+UDT

    抽象データ型の数+1(NULL値)

    1抽象データ型当たりのルーチン数の平均値+NULL値数

    SQL_ROUTINE_RESOURCES

    46

    d+q

    p×s

    1ルーチン当たりの使用リソース数の平均値

    47

    d+t

    48

    d+q

    49

    4

    SQL_ROUTINE_PARAMS

    50

    d+MAX(q,8)

    p×r+347

    1ルーチン当たりの平均パラメタ数

    51

    d+MAX(t,19)

    ルーチン数

    1特定名当たりのパラメタ数の平均値(3未満の場合は3としてください)

    106

    e+4+2

    トリガSQLオブジェクト数×r+1(NULL値)

    1特定名当たりのパラメタ数の平均値(3未満の場合は3としてください)+NULL値数

    SQL_DATATYPES

    54

    d+UDT

    抽象データ型の数

    1

    55

    4

    56

    d+UDT

    サブタイプを持つ抽象データ型の数+1(NULL値)

    1抽象データ型当たりのサブタイプ数の平均値+NULL値数

    SQL_DATATYPE_DESCRIPTORS

    57

    d+UDT+ATT

    NUDT×NATT

    1

    58

    4

    抽象データ型の数

    1抽象データ型当たりの属性数の平均値

    SQL_TABLE_RESOURCES

    59

    d+e

    ユーザ定義データ型を使用する表の総数

    1表当たりの使用ユーザ定義データ型数の平均値

    60

    d+UDT

    UDT

    1ユーザ定義データ型当たりの使用表数の平均値

    61

    4

    SQL_PLUGINS

    62

    d+PLG

    プラグイン数

    1

    63

    4

    64

    {(d+UDT)÷

    IXT}

    データ型プラグイン数+

    インデクス型プラグイン数

    SQL_PLUGIN_ROUTINES

    65

    t

    NPLG×NFPLG

    1

    66

    PLG+TMD+2

    67

    PLG+4

    68

    POPR

    オペレーション数

    プラグイン数

    SQL_PLUGIN_ROUTINE_PARAMS

    69

    t+PRM

    NPLG×NPPAR

    1

    70

    PLG

    NPLG

    1プラグイン当たりの平均パラメタ数

    71

    t+4

    NPLG×NPPAR

    1

    SQL_REGISTRY_CONTEXT

    72

    CNM+1

    コンテキスト数

    1

    SQL_REGISTRY_KEY

    73

    KNM+6

    キー数

    1

    SQL_INDEX_TYPES

    74

    d+IXT

    作成するインデクス型の数

    1

    75

    4

    SQL_INDEX_RESOURCES

    76

    d+IXT

    プラグインインデクス数

    インデクス型を使用するインデクス定義数の平均値

    77

    4

    SQL_INDEX_DATATYPE

    78

    d+e

    プラグインインデクスを定義する表の定義数

    同一表に対する平均プラグインインデクス数

    79

    d+i

    プラグインインデクス数

    1

    SQL_INDEX_FUNCTION

    80

    d+e

    プラグインインデクスを定義する表の定義数

    1表当たりのプラグインインデクス数の平均値×プラグインインデクス適用関数数の平均値

    81

    d+i

    プラグインインデクス数

    1プラグインインデクス当たりの適用関数数の平均値

    SQL_TYPE_RESOURCES

    82

    d+e

    ユーザ定義データ型を使用するユーザ定義データ型の数

    ユーザ定義データ型で属性に指定する平均ユーザ定義データ型数

    83

    d+UDT

    ユーザ定義データ型数

    ユーザ定義データ型を使用する平均ユーザ定義データ型数

    84

    4

    SQL_INDEX_TYPE_FUNCTION

    85

    d+IXT

    インデクス型の数

    1インデクス当たりの適用関数数の平均値

    SQL_TRIGGERS

    90

    d+e+2+16

    トリガ数

    1

    91

    d+TRIG+2

    92

    d+t+2

    93

    4

    SQL_TRIGGER_ACTCOND

    94

    d+TRIG+2+4

    動作条件ありのトリガ数

    1

    95

    d+e+2

    トリガを定義した表数

    1表当たりのトリガ数の平均値

    SQL_TRIGGER_COLUMNS

    96

    d+TRIG+2

    列指定がある,UPDATE文を契機とするトリガ数

    1トリガ当たりの指定列の平均値

    97

    d+e+f+3

    UPDATE文を契機とするトリガの指定列数

    1

    SQL_TRIGGER_DEF_SOURCE

    98

    d+TRIG+2+4

    トリガ数

    1

    99

    d+e+2

    トリガを定義した表数

    1表当たりのトリガ数の平均値

    SQL_TRIGGER_USAGE

    100

    d+TRIG+2

    トリガ動作の探索条件中でリソースを参照するトリガ数

    1トリガ当たりの参照リソース数の平均値

    101

    d+e+2

    トリガ動作の探索条件中でリソースを参照するトリガを定義した表数

    1表当たりの参照リソース数の平均値

    102

    d+e+(t又はe)+2

    使用リソース数

    1

    103

    8

    SQL_PARTKEY

    104

    d+e+f+3

    マトリクス分割表の数×分割キーの数

    1

    SQL_PARTKEY_DIVISION

    105

    d+e+6

    マトリクス分割表の数×境界値数×分割キーの数

    1

    SQL_AUDITS

    107

    ETP+EST+2

    監査対象イベント数

    1

    108

    OTP+OSC+ONM+3

    監査対象オブジェクト数

    1オブジェクト当たりの監査対象イベント数の平均値

    109

    d

    監査対象ユーザ数

    1ユーザ当たりの監査対象イベント数の平均値

    SQL_AUDITS_REGULARIZE

    110

    OTP+OSC+ONM+3

    監査対象オブジェクト数

    1オブジェクト当たりの監査対象イベント数の平均値

    111

    d

    監査対象ユーザ数

    1ユーザ当たりの監査対象イベント数の平均値

    SQL_KEYCOLUMN_USAGE

    112

    d+CNS+2

    制約数

    1

    113

    d+e+2

    制約を定義している表数

    1表当たりの制約数の平均値

    SQL_TABLE_CONSTRAINTS

    114

    d+CNS+2

    制約数

    1

    115

    d+e+2

    制約を定義した表数

    1表当たりの制約数の平均値

    SQL_CHECKS

    116

    d+CNS+2

    検査制約数

    1

    117

    d+e+2

    検査制約を定義している表数

    1表当たりの検査制約数の平均値

    SQL_CHECK_COLUMNS

    118

    d+CNS+2

    検査制約数

    1検査制約当たりの指定列数の平均値

    119

    d+e+f+3

    検査制約で使用している列数

    1表当たりの検査制約で使用している列の平均長複数

    SQL_SYSPARAMS

    121

    8

    2

    1

    SQL_PUBLICVIEW_SAME_USERS

    124

    d+e+2

    パブリックビュー表数×認可識別子数

    1

    SQL_INDEX_XMLINF

    125

    d+e+2

    NPSIT

    1インデクス当たりの平均インデクス構成部分構造パス数

    126

    d+i+7

    NPSS

    1

    SQL_SEQUENCES

    127

    d+SEQN+2

    システム内の順序数生成子数

    1

    128

    4

    システム内の順序数生成子数

    1

    SQL_ACCESS_SECURITY

    149

    CSTN

    接続制約数

    1

    150

    1

    2

    接続制約数

    154

    d

    指定した認可識別子の数

    1認可識別子当たりの平均接続制約登録数

a:表の総数(個)

b:表の列数の平均値(個)

c:データディクショナリ用RDエリアのページ長(バイト)

d:認可識別子の長さの平均値(バイト)

e:表識別子の長さの平均値(バイト)

f:列の名称長の平均値(バイト)

g:RDエリアの名称長の平均値(バイト)

h:インデクスの総数(個)

i:インデクス識別子の長さの平均値(バイト)

n:RDエリアを構成するHiRDBファイル名称の長さの平均値(バイト)

p:作成するルーチン数(個)

q:ルーチン名称の長さの平均値(バイト)

r:1ルーチン当たりのパラメタ数の平均値(個)

s:1ルーチン当たりの使用リソース数の平均値(個)

t:特定名※2の長さの平均値(バイト)

u:特定名※2の総数(個)

y:アクセス権限の定義数(個)

一つの表に対してn人に権限を与えた場合,表数×n個と数えます。

z:ビュー定義の総数(個)

NUDT:作成するユーザ定義データ型の数(個)

UDT:ユーザ定義データ型名称の長さの平均値(バイト)

NATT:1ユーザ定義データ型当たりの属性数の平均値(個)

ATT:ユーザ定義データ型属性名称の長さの平均値(バイト)

PLG:プラグイン名称の長さの平均値(バイト)

NPLG:作成するプラグイン数(個)

IXT:インデクス型名称の長さの平均値(バイト)

NFPLG:プラグイン関数の数の平均値(個)

POPR:プラグイン関数名の長さの平均値(バイト)

NPPAR:1プラグイン関数当たりのパラメタ数の平均値(個)

PRM:1プラグイン関数当たりのパラメタ名の長さの平均値(バイト)

TMD:契機記述長の平均値(バイト)

CNM:コンテキスト名称長の平均値(バイト)

KNM:キー名称長の平均値(バイト)

TRIG:トリガ名称長の平均値(バイト)

ETP:イベントタイプ名称の長さの平均値(バイト)

EST:イベントサブタイプ名称の長さの平均値(バイト)

OTP:オブジェクト種別名称の長さの平均値(バイト)

OSC:オブジェクトの所有者名称の長さの平均値(バイト)

ONM:オブジェクト名称の長さの平均値(バイト)

CNS:制約名称の長さの平均値(バイト)

NPSIT:部分構造インデクス定義表数(個)

NPSS:部分構造インデクス構成部分構造パス数(個)

SEQN:順序数生成子識別子の長さの平均値(バイト)

CSTN:接続制約名称の長さの平均値(バイト)

注※1

インデクスの格納ページ数の計算方法」の「計算式中で使用する変数」に記載されている変数のことです。

注※2

「認可識別子.ルーチン識別子」を表しています。

注※3

キー長は4バイト単位で切り上げになります。次に示す計算式で求めてください。

  • ↑キー長÷4↑×4