16.5.1 データディクショナリLOB用RDエリアの容量の計算方法
- 〈この項の構成〉
(1) ソース格納用のデータディクショナリLOB用RDエリアの容量の見積もり
ソース格納用のデータディクショナリLOB用RDエリアの容量は,次に示す計算式で求めます。
- 計算式
ソース格納用のデータディクショナリLOB用RDエリアの容量(単位:バイト) ={ a [ Σ ↑Si÷64000↑×96 +7+3×(a−1)]※1 i=1 b +[ Σ ↑(Cj+1024)÷8192↑]※2 j=1 }※3×8192※4
a:ソース格納用のデータディクショナリLOB用RDエリアを構成するHiRDBファイル数
- b:次の総数
-
-
手続き(CREATE PROCEDURE)
-
抽象データ型内の関数と手続き(各FUNCTION(ただし,プラグイン関数を除きます),PROCEDURE)
-
ユーザ定義関数(CREATE FUNCTION)
-
- Si:セグメント数
-
データベース初期設定ユティリティ(pdinit)又はデータベース構成変更ユティリティ(pdmod)のcreate rdarea文で指定する各HiRDBファイルのセグメント数
- Cj:次の長さ
-
-
手続き(各CREATE PROCEDUREの長さ)
-
抽象データ型内の関数と手続き(各FUNCTION(ただし,プラグイン関数を除きます),PROCEDUREの長さ)
-
ユーザ定義関数(CREATE FUNCTIONの長さ)
-
注※1 ディレクトリページ部分の総ページ数です。
注※2 データページ部分の総ページ数です。
(2) オブジェクト格納用のデータディクショナリLOB用RDエリアの容量の見積もり
オブジェクト格納用のデータディクショナリLOB用RDエリアの容量は,次に示す計算式で求めます。
- 計算式
オブジェクト格納用のデータディクショナリLOB用RDエリアの容量(単位:バイト) ={ a [ Σ ↑Si÷64000↑×96+7+3×(a−1)]※1 i=1 b +[ Σ ↑(Cj+1024)÷8192↑]※2 j=1 }※3×8192※4+500000※5
a:オブジェクト格納用のデータディクショナリLOB用RDエリアを構成するHiRDBファイル数
b:手続き(CREATE PROCEDURE),抽象データ型内の関数と手続き(各FUNCTION(ただし,プラグイン関数を除きます),PROCEDURE),ユーザ定義関数(CREATE FUNCTION)及びトリガ定義(CREATE TRIGGER)の総数
Cj:QOi+PR(QOiの計算式を「QOi(SQLオブジェクト長)の計算式」に,PRの計算式を「PR(ルーチン制御用オブジェクト長)の計算式」に示します。これらの計算式で使用する変数を「PR及びQOiの計算式で使用する変数」に示します)
注※1 ディレクトリページ部分の総ページ数です。
注※2 データページ部分の総ページ数です。
注※3 オブジェクト格納用のデータディクショナリLOB用RDエリアの総ページ数です。
注※4 オブジェクト格納用のデータディクショナリLOB用RDエリアのページ長です。
注※5 抽象データ型,又はプラグイン使用時に加算します。
(3) QOi(SQLオブジェクト長)の計算式
QOi(単位:バイト)= a Σ{ i=1 1840+46×RCN+298×Si+20×Pi+1138×Ti+76×Ti×Di+80×Ci+40×Ii+534×Wi +20×Ki+Li+8×TCi+656×Di+48×nFF+100×nFP+148×nFC+696×nPFF +16×(nAT+nPAT)+20×nCAT+28×(nAF+nCAF)+20×(nAA+nPAA+nCAA) +1057×nSPA+120×nSPP+287×nSFF+8×nSFP+813×nJFC+20×nJFP 〔+1057×nTR+120×(nTSN+nTSO)+20×(nTCN+nTCO)〕※1 〔+760+376×RCC+1880×RCT〕※2 〔+32×Si+16〕※3 〔+↑(42×SiT)+{52+152×(SiTA+SiSA+SiNA)×(SiT+SiS+SiN)}↑〕※4 }
a:ストアドプロシジャ内のSQL文数
注※1 トリガを使用する場合に加算する計算式です。
注※2 参照制約を使用する場合に加算する計算式です。
注※3 列名記述領域長の計算式です。動的SQLの場合に加算します。
注※4 型名記述領域長の計算式です。動的SQLの場合に加算します。
(4) PR(ルーチン制御用オブジェクト長)の計算式
(a) ユーザが定義する場合
ストアドプロシジャ,ストアドファンクション,又はトリガを定義した場合の,ルーチン制御用オブジェクト長は次に示す計算式から求めます。
PR(単位:バイト)= a Σ{ i=1 600+28×sRi+32×(sRUi+sDi)+56×sSXi+sCUi+sSi+sPi+sLA +sKi+sL+80×sWi+24×sCM+32×sCCR+2×sDCR+60×sCHD+72×sDHD+64×sHCN +8×sCHD×sHCN+48×nRFF+100×nRFP+148×nRFC+200×nPRFF+8×nPRFP +196×nPA+64×nPP+36×nPPI+20×nPPO+200×nPPA+8×nPPP+20×nAR+48×nARA +16×nRPAT+20×nCAT+28×(nRPAF+nRCAF)+20×(nRPAA+nRCAA)+287×nRSFF +8×nRSFP+813×nPJA+20×nPJP+813×nRJFC+20×nRJFP 〔+28×(nTSN×2+nTSO)〕※ }
- a:次のSQL文数
-
-
手続き(CREATE PROCEDURE)
-
抽象データ型内の関数と手続き(各FUNCTION(ただし,プラグイン関数を除きます),PROCEDURE)
-
ユーザ定義関数(CREATE FUNCTION)
-
トリガ定義(CREATE TRIGGER)
-
注※ トリガを使用する場合に加算する計算式です。
(b) HiRDBが自動的に作成する場合
表定義時,参照動作にCASCADEを指定した場合,HiRDBが制約制御のためにトリガを作成したときのルーチン制御用オブジェクト長は次に示す計算式から求めます。
PR(単位:バイト)= a Σ{240+608×RCC+(5120+100×RDi+256×RIi)×RCP×RCT} i=1
- a:次のSQL文数
-
-
手続き(CREATE PROCEDURE)
-
抽象データ型内の関数と手続き(各FUNCTION(ただし,プラグイン関数を除きます),PROCEDURE)
-
ユーザ定義関数(CREATE FUNCTION)
-
トリガ定義(CREATE TRIGGER)
-
(5) PR及びQOiの計算式で使用する変数
変数名 |
説明 |
---|---|
RCN |
SQLオブジェクトで使用する表,及びインデクスの合計数 |
Si |
SQL文中にある検索項目数(SQL文で指定する列がインデクス列の場合はその列数) |
Pi |
SQL文中にある埋込み変数又はパラメタ数 |
Ti |
SQL文中にある表名数 |
Ci |
SQL文中にある列名数 |
TCi |
SQL文中にある表の構成列数 |
Wi |
SQL文中にある論理演算子数※ |
Ki |
SQL文中にある定数の数※ |
Li |
SQL文中にある定数の合計長※(単位:バイト) |
Ii |
SQL文実行時に使用するインデクス数(SQL文で指定する表のうち,検索条件に指定するインデクス数) |
Di |
SQL文中の表に定義された格納条件の総数(マトリクス分割表は2倍する) |
SiT |
SQL文中にある選択式の抽象データ型数 |
SiS |
SQL文中にある選択式の抽象データ型のスーパタイプ数 |
SiN |
SQL文中にある選択式のサブタイプである抽象データ型のスーパタイプの総数 |
SiTA |
SQL文中にある選択式の抽象データ型の属性数 |
SiSA |
SQL文中にある選択式の抽象データ型のスーパタイプの属性数 |
SiNA |
SQL文中にある選択式のサブタイプである抽象データ型のコンポネント指定総数 |
nSPA |
SQL文中にある手続き文の呼び出し数 |
nSPP |
SQL文中にある手続き文の引数の総数 |
nFF |
SQL文中にある関数の呼び出し数※ |
nFP |
SQL文中にある関数の引数の総数※ |
nFC |
SQL文中にある関数の総関数定義候補数(関数呼出し数nFFに,引数が抽象データ型の各関数呼出しに対して,サブタイプを引数とする関数定義数を加算する) |
nPFF |
SQLオブジェクトが使用するプラグイン関数呼出し数(SQL文中にあるプラグイン関数呼出し数+SELECTの場合は1,INSERT,UPDATE,DELETEの場合は6) |
nSFF |
SQL文中にあるシステム定義スカラ関数の呼び出し数※ |
nSFP |
SQL文中にあるシステム定義スカラ関数の引数の総数※ |
nJFC |
SQL文中にある外部Java関数の呼び出し数 |
nJFP |
SQL文中にある外部Java関数の引数の総数 |
nAT |
SQL文中にあるコンポネント指定で使用する抽象データ型数(スーパタイプ,抽象データ型属性によって現れる抽象データ型を除く) |
nAA |
SQL文中にあるコンポネント指定で使用する抽象データ型数(スーパタイプ,抽象データ型属性によって現れる抽象データ型を含む) |
nAF |
SQL文中にあるコンポネント指定で使用する属性総数 |
nPAT |
SQLオブジェクトが使用するプラグイン関数の引数で使用する抽象データ型数(スーパタイプ,抽象データ型属性によって現れる抽象データ型を除く) |
nPAA |
SQLオブジェクトが使用するプラグイン関数の引数で使用する抽象データ型数(スーパタイプ,サブタイプを含む) |
nCAT |
SQL文中にあるコンストラクタ関数の呼び出し数 |
nCAA |
SQL文中にあるコンストラクタ関数の抽象データ型数(スーパタイプを含む) |
nCAF |
SQL文中にあるコンストラクタ関数の抽象データ型の属性総数 |
nTR |
SQL文の実行によって起動されるトリガ数 |
nTSN |
SQL文の実行によって起動される各トリガのトリガSQL文中の新値相関名によって修飾された列の総数 |
nTSO |
SQL文の実行によって起動される各トリガのトリガSQL文中の旧値相関名によって修飾された列の総数 |
nTCN |
SQL文の実行によって起動される各トリガのトリガ動作条件中の新値相関名によって修飾された列の総数 |
nTCO |
SQL文の実行によって起動される各トリガのトリガ動作条件中の旧値相関名によって修飾された列の総数 |
RCC |
SQL文中で,更新対象の表を参照する表の外部キーの構成列数と,主キーの構成列数の総数 |
RCT |
SQL文中で,更新対象の表を参照する表,及び更新対象の表が参照する表の総数 |
RCP |
参照表定義時に,参照動作に指定したCASCADEの総数 |
RIi |
参照表定義時,参照指定をする被参照表に定義されたインデクスの総数 |
RDi |
参照表定義時,参照指定をする被参照表に定義された分割格納条件の総数(マトリクス分割表の場合は,2倍する) |
sRi |
手続き及び関数中のSQLパラメタ数(INOUT指定のSQLパラメタ数は2倍する) |
sRUi |
手続き及び関数中のSQLパラメタの総数(又は,トリガ定義中のトリガSQL文中の新旧値相関名によって修飾された列の総数) |
sDi |
手続き,関数,及びトリガSQL文中のSQL変数(declare)の総数 |
sSXi |
手続き,関数,及びトリガSQL文中のSQLCODE,SQLCOUNT変数の総数 |
sCUi |
手続き,関数,及びトリガSQL文中のCURRENT_TIME値関数,CURRENT_DATE値関数の総数 |
sSi |
手続き及びトリガSQL文中の操作系SQLの数(カーソル宣言を除くSQL文:OPEN,FETCH,CLOSE,UPDATE,DELETE,INSERT文など) |
sPi |
手続き,関数,及びトリガSQL文中のルーチン制御SQL数(BEGIN,SET,IF,ELSEIF,WHILEなど) |
sLA |
手続き,関数,及びトリガSQL文中のラベル数 |
sKi |
手続き,関数,及びトリガSQL文中の定数の数(手続き及びトリガSQL文中に記述された操作系SQL文の定数を除く) |
sL |
手続き,関数,及びトリガSQL文中の定数の長さの合計(手続き及びトリガSQL文中に記述された操作系SQL文の定数を除く) |
sWi |
手続き,関数,及びトリガSQL文中の条件述語数 |
sCM |
手続き,関数,及びトリガSQL文中の複合文の数 |
sCCR |
手続き及びトリガSQL文のカーソル宣言を記述した複合文の数 |
sDCR |
手続き及びトリガSQL文のカーソル宣言の数 |
sCHD |
手続き,関数,及びトリガSQL文のハンドラ宣言を記述した複合文の数 |
sDHD |
手続き,関数,及びトリガSQL文のハンドラ宣言の数 |
sHCN |
手続き,関数,及びトリガSQL文のハンドラ宣言中に記述された条件値の数 |
nRFF |
ルーチン中にある関数呼出し数 |
nRFP |
ルーチン中にある関数の引数の総数 |
nRFC |
ルーチン中にある関数の関数定義候補の総数(関数呼出し数nFFに,引数が抽象データ型の各関数呼出しに対して,サブタイプを引数とする関数定義数を加算する) |
nPRFF |
ルーチンのSQLオブジェクトが使用するプラグイン関数呼出し数 |
nPRFP |
ルーチンのSQLオブジェクトが使用するプラグイン関数のプラグインパラメタ総数 |
nPA |
ルーチン中にある手続き呼び出し数 |
nPP |
ルーチン中にある手続きのパラメタ総数 |
nPPI |
ルーチン中にある手続きの入力パラメタ総数(入出力パラメタを含む) |
nPPO |
ルーチン中にある手続きの出力パラメタ総数(入出力パラメタを含む) |
nPPA |
ルーチンのSQLオブジェクトが使用するプラグイン手続き呼び出し数 |
nPPP |
ルーチンのSQLオブジェクトが使用するプラグイン手続きのプラグインパラメタ総数 |
nRSFF |
ルーチン中にあるシステム定義スカラ関数の呼び出し数 |
nRSFP |
ルーチン中にあるシステム定義スカラ関数の引数の総数 |
nPJA |
ルーチン中にある外部Java手続きの呼び出し数 |
nPJP |
ルーチン中にある外部Java手続きの引数の総数 |
nRJFC |
ルーチン中にある外部Java関数の呼び出し数 |
nRJFP |
ルーチン中にある外部Java関数の引数の総数 |
nAR |
ルーチン中にあるコンポネント指定で使用する抽象データ型数(スーパタイプ,抽象データ型属性によって現れる抽象データ型を除く) |
nARA |
ルーチン中にあるコンポネント指定で使用する属性総数 |
nRPAT |
ルーチンのSQLオブジェクトが使用するプラグインルーチンのパラメタで使用する抽象データ型数(ただし,スーパタイプ,抽象データ型属性の抽象データ型を除く) |
nRPAA |
ルーチンのSQLオブジェクトが使用するプラグインルーチンのパラメタで使用する抽象データ型数(スーパタイプを含む) |
nRPAF |
ルーチンのSQLオブジェクトが使用するプラグインルーチンのパラメタで使用する抽象データ型の属性総数 |
nRCAT |
ルーチン中にあるコンストラクタ関数の呼び出し数 |
nRCAA |
ルーチン中にあるコンストラクタ関数の抽象データ型数(スーパタイプを含む) |
nRCAF |
ルーチン中にあるコンストラクタ関数の抽象データ型の属性総数 |
- 注※
-
トリガを使用する場合は,SQL文の実行によって起動される各トリガのトリガ動作条件についても数える必要があります。