Hitachi

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


15.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 データページ部分の総ページ数です。

注※3 ソース格納用のデータディクショナリLOB用RDエリアの総ページ数です。

注※4 ソース格納用のデータディクショナリLOB用RDエリアのページ長です。

(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)の総数

Si:セグメント数

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

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文の実行によって起動される各トリガのトリガ動作条件についても数える必要があります。