スケーラブルデータベースサーバ HiRDB Version 8 システム定義(UNIX(R)用)

[目次][索引][前へ][次へ]

付録C.4 表定義情報用バッファ長(pd_table_def_cache_size)の見積もり式

<この項の構成>
(1) 計算式で使用する変数
(2) 1表当たりの表定義情報バッファサイズ(単位:キロバイト)
(3) 表定義キャッシュサイズの求め方

(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(単位:バイト)

1:列のデータ型がDECIMAL型以外の列最適化情報数,及び精度31けたまでのDECIMAL型の列最適化情報数の合計

2:列のデータが精度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エリアの容量の見積もり」を参照してください。

(2) 1表当たりの表定義情報バッファサイズ(単位:キロバイト)

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

(3) 表定義キャッシュサイズの求め方

(a) DEFINITION_CACHE_SIZEの値が分からない場合

次のどれかに該当する場合は,ディクショナリ表を検索してもDEFINITION_CACHE_SIZEの値が分かりません。

注※1
この場合,DEFINITION_CACHE_SIZEに正しい値が入っていません。

注※2
32ビットモードから64ビットモードに移行した表であるかどうかは,pdvrupコマンドの実行時間と表の作成時間を比較してください。表の作成時間の方が古い表が,32ビットモードから64ビットモードに移行した表です。pdvrupコマンドの実行時間は,ディクショナリ表(SQL_TABLES表)のMASTER.SQL_TABLESのCHANGE_TIMEで分かります。表の作成時間は,ディクショナリ表(SQL_TABLES表)の作成した表のCREATE_TIMEで分かります。これらの列は,次に示すSQLで検索できます。
  • pdvrupコマンド実行時間
    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) 表定義キャッシュサイズの計算式

表定義キャッシュサイズは次に示す計算式で求めてください。