スケーラブルデータベースサーバ HiRDB Version 8 システム定義(UNIX(R)用)
計算式で使用する変数については(3)を参照してください。
1SQL文のSQLオブジェクト長は次に示す計算式から求めます。
〈計算式〉
|
注※1 外部表を指定する場合に加算する計算式です。
注※2 トリガを使用する場合に加算する計算式です。
注※3 参照制約を使用する場合に加算する計算式です。
注※4 列名記述領域長の計算式です。動的SQLの場合に加算します。
注※5 型名記述領域長の計算式です。動的SQLの場合に加算します。
ストアドプロシジャ,ストアドファンクション,又はトリガを定義した場合の,1ルーチンのルーチン制御用オブジェクト長は次に示す計算式から求めます。
〈計算式〉
|
注※ トリガを使用する場合に加算する計算式です。
表定義時,参照動作にCASCADEを指定した場合,HiRDBが制約制御のためにトリガを作成したときの1ルーチンのルーチン制御用オブジェクト長は次に示す計算式から求めます。
〈計算式〉
|
| 変数名 | 説明 |
|---|---|
| RCN | SQLオブジェクトで使用する表,及びインデクスの合計数 |
| Si | SQL文中にある検索項目数(SQL文で指定する列がインデクス列の場合はその列数) |
| Pi | SQL文中にある埋込み変数又はパラメタ数 |
| Ti | SQL文中にある表名数 |
| Ci | SQL文中にある列名数 表定義時に次に示す定義をした列数も加算してください(SQL文中にない列であっても加算します)。
|
| TCi | SQL文中にある表の構成列数 |
| Wi | SQL文中にある論理演算子数※1 |
| Ki | SQL文中にある定数の数※1 |
| Li | SQL文中にある定数の合計長※1(単位:バイト) |
| Ii | SQL文実行時に使用するインデクス数(SQL文で指定する表のうち,検索条件に指定するインデクス数) |
| Di | SQL文中の表に定義された格納条件の総数(マトリクス分割表は2倍する) |
| SiT | SQL文中にある選択式の抽象データ型数 |
| SiS | SQL文中にある選択式の抽象データ型のスーパタイプ数 |
| SiN | SQL文中にある選択式のサブタイプである抽象データ型のスーパタイプの総数 |
| SiTA | SQL文中にある選択式の抽象データ型の属性数 |
| SiSA | SQL文中にある選択式の抽象データ型のスーパタイプの属性数 |
| SiNA | SQL文中にある選択式のサブタイプである抽象データ型のコンポネント指定総数 |
| nSPA | SQL文中にある手続き文の呼び出し数 |
| nSPP | SQL文中にある手続き文の引数の総数 |
| nFF | SQL文中にある関数の呼び出し数※1 |
| nFP | SQL文中にある関数の引数の総数※1 |
| nFC | SQL文中にある関数の総関数定義候補数(関数呼出し数nFFに,引数が抽象データ型の各関数呼出しに対して,サブタイプを引数とする関数定義数を加算する) |
| nPFF | SQLオブジェクトが使用するプラグイン関数呼出し数(SQL文中にあるプラグイン関数呼出し数+SELECTの場合は1,INSERT,UPDATE,DELETEの場合は6) |
| nSFF | SQL文中にあるシステム定義スカラ関数の呼び出し数※1 |
| nSFP | SQL文中にあるシステム定義スカラ関数の引数の総数※1 |
| nJFC | SQL文中にある外部Java関数の呼び出し数 |
| nJFP | SQL文中にある外部Java関数の引数の総数 |
| nAT | SQL文中にあるコンポネント指定で使用する抽象データ型数(スーパタイプ,抽象データ型属性によって現れる抽象データ型を除く) |
| nAA | SQL文中にあるコンポネント指定で使用する抽象データ型数(スーパタイプ,抽象データ型属性によって現れる抽象データ型を含む) |
| nAF | SQL文中にあるコンポネント指定で使用する属性総数 |
| nPAT | SQLオブジェクトが使用するプラグイン関数の引数で使用する抽象データ型数(スーパタイプ,抽象データ型属性によって現れる抽象データ型を除く) |
| nPAA | SQLオブジェクトが使用するプラグイン関数の引数で使用する抽象データ型数(スーパタイプ,サブタイプを含む) |
| nCAT | SQL文中にあるコンストラクタ関数の呼び出し数 |
| nCAA | SQL文中にあるコンストラクタ関数の抽象データ型数(スーパタイプを含む) |
| nCAF | SQL文中にあるコンストラクタ関数の抽象データ型の属性総数 |
| nFT | SQL文中にある外部表数 |
| nFTS | 外部表を検索するSQL文の長さ※2 |
| nFTQ | 外部表を検索するSQL文中の埋込み変数又は?パラメタの数※2 |
| 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オブジェクト用バッファ長を見積もり直す必要があります。SQLオブジェクト用バッファ長は次に示す計算式から求めてください。
SQLオブジェクト用バッファ長=現在のSQLオブジェクト用バッファ長+更新可能なオンライン再編成で必要なSQLオブジェクト用バッファ長
更新可能なオンライン再編成時の1SQL文のSQLオブジェクト長は,「(1)1SQL文のSQLオブジェクト長の計算式」で説明した計算式から求めてください。ただし,計算式中の変数の値については,次に示す表を参照してください。
| 変数名 | 説明 |
|---|---|
| RCN | 2 1SQLが発行されるときは,1表かつ1インデクスのため,合計2となります。 |
| Si | 0 UAPの検索(SELECT)は追い付き反映の対象外のため,0となります。 |
| Pi | SQL種別によって異なります。
|
| Ti | 1 追い付き反映処理で実行されるSQLの場合は,表名は一つのため,1となります。 |
| Ci | SQL種別によって異なります。
|
| TCi | UAPが更新する表の構成列数 |
| Wi | 0 |
| Ki | 0 |
| Li | 0 |
| Ii | 1 更新可能なオンライン再編成の場合は,ユニークインデクスを一つ決定して検索条件に指定するため,1となります。 |
| Di | 表の格納条件数 マトリクス分割の場合は2倍してください。 |
| SiT | 0 |
| SiS | 0 |
| SiN | 0 |
| SiTA | 0 |
| SiSA | 0 |
| SiNA | 0 |
| nSPA | 0 |
| nSPP | 0 |
| nFF | 表に定義されている抽象データ型の列数※1+更新対象のBLOB又はBINARY列でSUBSTR演算をしている列数 |
| nFP | Σ表に定義されている抽象データ型列※1+Σ{表に定義されているBLOB又はBINARY列※1でSUBSTR演算更新の数×3} |
| nFC | 0 |
| nPFF | 表に定義されている抽象データ型列数※1+6 表に抽象データ型が定義されていない場合は0とします。 |
| nSFF | BLOB又はBINARY列をSUBSTR演算で更新している列数 |
| nSFP | BLOB又はBINARY列をSUBSTR演算で更新している列数×3 |
| nJFC | 0 |
| nJFP | 0 |
| nAT | 0 |
| nAA | 0 |
| nAF | 0 |
| nPAT | 0 |
| nPAA | 0 |
| nCAT | 表に定義されている抽象データ型列数※1 |
| nCAA | 表に定義されている抽象データ型の種類の数※1 |
| nCAF | Σ(表に定義されている抽象データ型の属性数※1×n) n:SGMLTEXT型及びXML型の場合は1,FREEWORD型の場合は2になります。 |
| nFT | 0 |
| nFTS | 0 |
| nFTQ | 0 |
| nTR | 0 |
| nTSN | 0 |
| nTSO | 0 |
| nTCN | 0 |
| nTCO | 0 |
| RCC | SQL文中で,更新対象の表を参照する表の外部キーの構成列数と,主キーの構成列数の総数 |
| RCT | SQL文中で,更新対象の表を参照する表,及び更新対象の表が参照する表の総数 |
| 読み替え前 | 読み替え後 |
|---|---|
| 表に定義されている抽象データ型の列数 | 表に定義されている抽象データ型の列のうち,更新対象となる抽象データ型列数 |
| 表に定義されているBLOB又はBINARY列 | 表に定義されているBLOB又はBINARY列のうち,更新対象となるBLOB又はBINARY列 ただし,UAPで明示的に更新していないBLOB又はBINARY列のうち,表定義時に次の定義をした列数も加算してください。
|
| 表に定義されている抽象データ型の種類の数 | 表に定義されている抽象データ型の種類のうち,更新対象となる抽象データ型の種類の数 |
| 表に定義されている抽象データ型の属性数 | 表に定義されている抽象データ型の属性のうち,更新対象となる抽象データ型の属性数 |
| 読み替え前 | SQL種別 | 読み替え後 |
|---|---|---|
| UAPが更新する表の構成列数 | INSERT (形式1) |
− |
| UPDATE (形式1) |
UAPで明示的に更新した列数 ただし,UAPで明示的に更新していない列のうち,表定義時に次の定義をした列数も加算してください。
|
|
| INSERT (形式2) |
1 | |
| UPDATE (形式2) |
追い付き反映処理時にSQLオブジェクト用バッファ不足が発生しない必要最低限の,SQLオブジェクト用バッファ長の見積もり式を次に示します。
〈計算式〉
MAX{ORG_SQL_OBJ_MAX_SIZE ,ORG_SQL_OBJ_AVE_SIZE×ORG_PROC_NUM×
n
MIN(100 ,Σ ORG_SQL_KIND) }
i=1
|
次に示す場合は,SQLオブジェクト用バッファ長を見積もり直してください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.