15.2.1 通常のデータディクショナリ用RDエリアの容量の見積もり
(1) データディクショナリ用RDエリアの容量の求め方
create rdarea文にdatadictionary又はdatadictionary of routinesを指定する場合のデータディクショナリ用RDエリアの容量は,次に示す計算式で求めます。
- 計算式
データディクショナリ用RDエリアの容量(単位:バイト) =a×b×1.3+c×125+1600000 ●拡張システム定義スカラ関数を定義する場合に加算します。 +1933312
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:部分構造インデクスの総数(個)
(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
- 注※
-
「インデクスの格納ページ数の計算方法」を参照し,ディクショナリ表のインデクスを格納するページ数を計算してください。また,このときの計算条件を次に示します。
-
計算式には,表「インデクスの格納ページ数を求める計算式に代入する変数一覧」に示す変数を代入します。
-
変数b(CREATE INDEXで指定する未使用領域の比率)は30とします。
-
変数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
-