スケーラブルデータベースサーバ HiRDB Version 8 システム定義(UNIX(R)用)
(1) 計算式で使用する変数
- a:ディクショナリ表(SQL_TABLES表)のDEFINITION_CACHE_SIZEの値(単位:バイト)
- DEFINITION_CACHE_SIZEの値が分からない場合は,「(3)表定義キャッシュサイズの求め方」を参照してください。
- b:表の列数
- 追い付き状態管理表の場合は8を代入してください。
- c:表のインデクス数
- 追い付き状態管理表の場合は1を代入してください。
- d:表分割条件数
- 追い付き状態管理表の場合はpdorcreateコマンドの-rオプション,及び-oオプションに指定したRDエリアが属するサーバ数を代入してください。
- e:表格納RDエリア数
- 追い付き状態管理表の場合はpdorcreateコマンドの-rオプションに指定したRDエリア数+1を代入してください。
- f:インデクス格納RDエリア数
- 追い付き状態管理表の場合はpdorcreateコマンドの-rオプションに指定したRDエリア数+1を代入してください。
- g:BLOB列数
- h:BLOB属性を含む抽象データ型数
- i:抽象データ型中のBLOB属性の総数
- j:抽象データ型数
- k:プラグインオプション数
- n:インデクス除外キー値数
- p:ディクショナリ表(SQL_TABLES表)のSTATISTICS_CACHE_SIZEの値(単位:バイト)
- pdgetcstコマンドで表の最適化情報を取得した場合に加算します。単位がバイトなのでキロバイトに変換して代入してください。STATISTICS_CACHE_SIZEの値が分からない場合は次に示す計算式で求めます。
- (2.6×q1+3.0×q2+0.04×c+0.02)×1024(単位:バイト)
- q1:列のデータ型がDECIMAL型以外の列最適化情報数,及び精度31けたまでのDECIMAL型の列最適化情報数の合計
- q2:列のデータが精度32けた以上のDECIMAL型の列最適化情報数
- r:CREATE TABLEのDEFAULTオペランドの指定列数
- s:CREATE TABLEのDEFAULTオペランドに指定する既定値長の合計値(単位:バイト)
- 既定値を指定するすべての列数分加算します。既定値長を長く変更することがある場合は,変更後の長さを加算してください。
- t:パブリックビュー表の表名と同じ表識別子を所有する認可識別子数
- u:表に定義しているトリガ数
- v:新旧値相関名で修飾して使用している列数
- w:トリガ動作条件数
- x:トリガ動作条件の総解析ツリー長(単位:バイト)
- トリガ動作条件の解析ツリー長の見積もり式については,マニュアル「HiRDB Version 8 システム導入・設計ガイド」の「通常のデータディクショナリ用RDエリアの容量の見積もり」を参照してください。
- y:UPDATEトリガのトリガ契機列数
- z:表に定義している外部キー数
- aa:表の主キーを参照している外部キー数
- ab:表に定義している検査制約数
- ac:検査制約用解析ツリーの合計長(単位:バイト)
- 検査制約用解析ツリー長の見積もり式については,マニュアル「HiRDB Version 8 システム導入・設計ガイド」の「通常のデータディクショナリ用RDエリアの容量の見積もり」を参照してください。
- ad:インデクス構成部分構造パス数
- ae:該当するインデクスの部分構造パスの合計長
- af:該当するインデクスの部分構造パス用解析ツリーの合計長(単位:バイト)
- 部分構造パス用解析ツリー長の見積もり式については,マニュアル「HiRDB Version 8 システム導入・設計ガイド」の「通常のデータディクショナリ用RDエリアの容量の見積もり」を参照してください。
1表当たりの表定義情報バッファサイズは,次に示す概算式で求めてください。なお,ビュー表の場合は,ビュー表の基となる実表又は外部表についても計算してください。
表の種類 |
1表当たりの表定義情報バッファサイズ
の計算式(単位:キロバイト) |
1実表又は1外部表の表定義情報バッファサイズ |
↓(4+↑a÷1024↑+0.01×b+↑p÷1024↑+7)÷8↓×8 |
1ビュー表の表定義情報バッファサイズ |
↓(4+↑a÷1024↑+0.01×b+7)÷8↓×8 |
追い付き状態管理表(HiRDB Staticizer Option)の表定義情報バッファサイズ |
↓(4+↑a÷1024↑+0.01×8+7)÷8↓×8 |
(a) DEFINITION_CACHE_SIZEの値が分からない場合
次のどれかに該当する場合は,ディクショナリ表を検索してもDEFINITION_CACHE_SIZEの値が分かりません。
- まだ表を定義していない場合
- HiRDB Version 4.0からバージョンアップした場合※1
- 32ビットモードのHiRDBから64ビットモードのHiRDBに移行した場合※1※2
- 注※1
- この場合,DEFINITION_CACHE_SIZEに正しい値が入っていません。
- 注※2
- 32ビットモードから64ビットモードに移行した表であるかどうかは,pdvrupコマンドの実行時間と表の作成時間を比較してください。表の作成時間の方が古い表が,32ビットモードから64ビットモードに移行した表です。pdvrupコマンドの実行時間は,ディクショナリ表(SQL_TABLES表)のMASTER.SQL_TABLESのCHANGE_TIMEで分かります。表の作成時間は,ディクショナリ表(SQL_TABLES表)の作成した表のCREATE_TIMEで分かります。これらの列は,次に示すSQLで検索できます。
select CHANGE_TIME from MASTER.SQL_TABLES where
TABLE_SCHEMA='MASTER' and TABLE_NAME='SQL_TABLES'
select CREATE_TIME from MASTER.SQL_TABLES where
TABLE_SCHEMA='認可識別子' and TABLE_NAME='表名'
(b) 表定義キャッシュサイズの計算式
表定義キャッシュサイズは次に示す計算式で求めてください。
- 実表又は外部表の場合:(計算式1+計算式2)×1024(単位:バイト)
- ビュー表の場合:(計算式1+計算式3)×1024(単位:バイト)
- 追い付き状態管理表の場合:計算式1×1024(単位:バイト)
計算式
の種類 |
計算式 |
計算式1 |
●HiRDBが32ビットモードの場合
0.6+0.13×b+0.15×c+0.18×(d+1)+0.01×(e+f)
●HiRDBが64ビットモードの場合
0.9+0.19×b+0.18×c+0.18×(d+1)+0.01×(e+f) |
計算式2 |
●LOB列を定義した表の場合に加算します。
(0.02+0.01×e)×g
●BLOB属性を含む抽象データ型の列を定義した表の場合に加算します。
0.02×h+(0.02+0.01×e)×i
●抽象データ型の列を定義した表の場合に加算します。
0.3×j+0.3×k
●インデクス除外キー値を定義した表の場合に加算します。
0.3×n
●SEGMENT REUSEを指定(SEGMENT REUSE NOを除く)した表の場合に加算します。
0.01×e
●DEFAULTオペランドに既定値を指定した表の場合に加算します。
0.01×r+↑s÷1024↑
●トリガを定義した表の場合に加算します。
0.3×u+0.2×v+0.1×w+↑x÷1024↑+0.2×y
●外部キーを定義した表の場合に加算します。
0.3×z
●被参照表の場合に加算します。
0.1+0.1×aa
●検査制約を定義した表の場合に加算します。
0.1×ab+↑ac÷1024↑
●部分構造インデクスを定義した表の場合に,部分構造インデクスごとに加算します。
0.1×ad+↑ae÷1024↑+↑af÷1024↑ |
計算式3 |
●パブリックビュー表の場合に加算します。
0.1+(0.1×t)
●ビュー表の構成列が抽象データ型となる場合に加算します。
0.3×j |
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.