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

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

5.2.7 バッファに関するオペランド

21) pd_sql_object_cache_size = SQLオブジェクト用バッファ長
〜<符号なし整数>(単位:キロバイト)
  • 32ビットモードの場合:((22〜256000))
  • 64ビットモードの場合:((22〜2000000))
SQLオブジェクトを格納するバッファ(共用メモリ)の大きさをキロバイト単位で指定します。
《指定値の目安》
  • SQLオブジェクトは,ユーザごとにトランザクションが終了するまでバッファに保存されます。したがって,同時に実行するトランザクションのSQLオブジェクトがバッファに格納できる大きさが必要です。
  • 静的SQLのSQLオブジェクトはトランザクション終了後もバッファに空きがなくなるまで保存して,同一UAPを実行する複数のユーザで共用することで,SQL解析処理の削減を図ります。バッファを有効に利用するためには,使用頻度の高いUAPのSQLオブジェクトがバッファに常駐するようにバッファを確保してください。
  • バッファ長の見積もり時は,まずUAPで発行するSQL文のSQLオブジェクト長からUAP実行に必要なバッファ長を見積もります。次に,同時に実行されるUAPと同時実行ユーザ数を考慮して必要なバッファ長を算出してください。
  • 1SQL文のSQLオブジェクト長の見積もり方法については,「付録C.2 SQLオブジェクト用バッファ長(pd_sql_object_cache_size)の見積もり式」を参照してください。
《オペランドの省略値》
このオペランドを省略すると,サーバ共通定義,システム共通定義の優先順位で,同じオペランドの指定値が有効となります。サーバ共通定義とシステム共通定義の同じオペランドも省略すると,次に示す値が仮定されます。
(pd_max_usersの値+3)×22
《指定値のチューニング方法》
SQLオブジェクト用バッファ長のチューニング方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。

 

22) pd_table_def_cache_size = 表定義情報用バッファ長
〜<符号なし整数>(単位:キロバイト)
  • 32ビットモードの場合:((100〜65535))
  • 64ビットモードの場合:((100〜2000000))
一度使用した表と順序数生成子の定義情報を格納するバッファ(共用メモリ)の大きさをキロバイト単位で指定します。表と順序数生成子の定義情報は,SQL文の前処理時に使用します。また,このバッファ内の定義情報は,LRUで管理されます。
《利点》
  • 一度使用した表と順序数生成子の定義情報を共用メモリ内に格納して,次回使用するときは入出力なしで使用できます。
  • 動的SQLを多く使用する場合,性能が向上します。
《指定値の目安》
《オペランドの省略値》
このオペランドを省略すると,サーバ共通定義の同じオペランドの指定値が有効となります。サーバ共通定義の同じオペランドも省略すると,次に示す値が仮定されます。
  • HiRDB/シングルサーバの場合
    [図データ]
  • HiRDB/パラレルサーバの場合
    [図データ]
《指定値のチューニング方法》
表定義情報用バッファ長のチューニング方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。

 

23) pd_auth_cache_size = ユーザ権限情報用バッファ長
〜<符号なし整数>((1〜100))(単位:キロバイト)
ユーザ権限情報を格納するバッファ(共用メモリ)の大きさをキロバイト単位で指定します。
《指定値の目安》
  • ユーザ権限情報用バッファにはCONNECT権限,DBA権限,及び監査権限の情報を格納します。このバッファに情報がない場合はHiRDB接続時にディクショナリ表から情報を取得するため,応答時間が遅くなります。したがって,常時接続しているユーザ数分の情報を格納できるようにバッファ長を指定してください。
  • 1ユーザ当たりのユーザ権限情報を格納するのに68バイト必要になります。それを基に計算してください。
《指定値のチューニング方法》
ユーザ権限情報用バッファ長のチューニング方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。
《オペランドの省略値》
このオペランドを省略すると,サーバ共通定義の同じオペランドの指定値が有効となります。サーバ共通定義の同じオペランドも省略すると,1が仮定されます。

 

24) pd_view_def_cache_size = ビュー解析情報用バッファ長
〜<符号なし整数>(単位:キロバイト)
  • 32ビットモードの場合:((0〜32000))
  • 64ビットモードの場合:((0〜2000000))
ビュー解析情報を格納するバッファ(共用メモリ)の大きさをキロバイト単位で指定します。
《利点》
一度使用したビュー解析情報を共用メモリ内に格納して,次回使用するときは入出力なしで使用できます。
《指定値の目安》
使用頻度が高いビュー表のビュー解析情報用バッファ長の合計値を指定してください。ビュー解析情報用バッファ長の見積もりについては,「付録C.3 ビュー解析情報用バッファ長(pd_view_def_cache_size)の見積もり式」を参照してください。
《指定値のチューニング方法》
ビュー解析情報用バッファ長のチューニング方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。
《オペランドの省略値》
このオペランドを省略すると,サーバ共通定義の同じオペランドの指定値が有効となります。サーバ共通定義の同じオペランドも省略すると,次に示す値が仮定されます。
[図データ]

 

25) pd_alias_cache_size = 表別名定義情報格納バッファ長
〜<符号なし整数>((0〜3000))(単位:キロバイト)
表別名定義情報を格納するバッファ(共用メモリ)の大きさを,キロバイト単位で指定します。
《指定値の目安》
この領域には,頻繁に使用する表別名数分の情報を格納するようにしてください。一つの表別名の情報サイズは,約164バイトです。この数値を目安にバッファ長を求めてください。
《オペランドの省略値》
このオペランドを省略すると,サーバ共通定義の同じオペランドの指定値が有効となります。サーバ共通定義の同じオペランドも省略すると,0が仮定されます。

 

26) pd_type_def_cache_size = ユーザ定義型情報用バッファ長
〜<符号なし整数>(単位:キロバイト)
  • 32ビットモードの場合:((100〜65536))
  • 64ビットモードの場合:((100〜2000000))
このオペランドは,ユーザ定義型に関するオペランドです。ユーザ定義型を使用する場合は,このオペランドを指定することをお勧めします。
ユーザ定義型の情報を格納するバッファ(共用メモリ)の大きさを,キロバイト単位で指定します。ユーザ定義型の情報を使用すると,その情報がこのバッファ内に格納されます。この情報はSQL文の前処理時に使用します。
《利点》
  • このバッファにユーザ定義型の情報を格納すると,このユーザ定義型の情報を次回使用するときに,ディクショナリ表をアクセスする必要がなくなります。そのため,入出力回数の削減や,CPU使用時間を短縮できます。
  • 動的SQLを多く使用する場合,このオペランドを指定すると性能が向上します。
《指定値の目安》
使用頻度が高い表に定義してあるユーザ定義型の定義情報長を合計します。一つ当たりのユーザ定義型の定義情報長は,次に示す計算式から求めてください。
↑{(( 0.3+0.2×a+0.1×b)+3)÷4}↑×4
                 (単位:キロバイト)
a:ユーザ定義型の属性数
b:スーパタイプを継承したサブタイプ数
《指定値のチューニング方法》
ユーザ定義型情報用バッファ長のチューニング方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。
《オペランドの省略値》
このオペランドを省略すると,サーバ共通定義の同じオペランドの指定値が有効となります。サーバ共通定義の同じオペランドも省略すると,0が仮定されます。

 

27) pd_routine_def_cache_size = ルーチン定義情報用バッファ長
〜<符号なし整数>(単位:キロバイト)
  • 32ビットモードの場合:((0,20〜65536))
  • 64ビットモードの場合:((0,20〜2000000))
次に示す定義情報を格納するバッファ(共用メモリ)の大きさをキロバイト単位で指定します。これらの定義情報はSQL文の前処理時に使用します。
  • プラグイン関数の定義情報
  • システム定義スカラ関数の定義情報
  • ルーチンの定義情報
《利点》
このバッファに前記の定義情報を格納すると,これらの情報を次回使用するときに,ディクショナリ表をアクセスする必要がなくなります。そのため,入出力回数の削減や,CPU使用時間を短縮できます。
《適用基準》
次に示すSQLを多く使用する場合に指定します。
  • プラグインを使用するSQL
  • システム定義スカラ関数を使用するSQL
  • ルーチンを使用するSQL
《指定値の目安》
このオペランドの指定値の求め方については,「付録C.6 ルーチン定義情報用バッファ長(pd_routine_def_cache_size)の見積もり式」を参照してください。
《指定値のチューニング方法》
ルーチン定義情報用バッファ長のチューニング方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。
《オペランドの省略値》
このオペランドを省略すると,サーバ共通定義の同じオペランドの指定値が有効となります。サーバ共通定義の同じオペランドも省略すると,100が仮定されます。
《注意事項》
このオペランドの指定値が全プラグイン提供関数の定義情報の合計値より小さい場合,プラグイン提供関数の定義情報はバッファ中に確保されません。
 

28) pd_registry_cache_size = レジストリ情報用バッファ長
〜<符号なし整数>((0〜65536))(単位:キロバイト)
このオペランドは,プラグインに関するオペランドです。レジストリ情報を使用するプラグインを使用する場合は,このオペランドを指定することをお勧めします。HiRDB Text Search Plug-inを使用する場合は,指定することをお勧めします。
レジストリ情報を格納するバッファ(共用メモリ)の大きさを,キロバイト単位で指定します。レジストリ情報を使用すると,レジストリ情報がバッファ内に格納されます。レジストリ情報はSQL文の実行時に使用します。
《利点》
  • このバッファにレジストリ情報を格納すると,レジストリ情報を次回使用するときに,レジストリをアクセスする必要がなくなります。そのため,入出力回数の削減や,CPU使用時間を短縮できます。
  • レジストリ情報を多く使用するプラグインを使用する場合,このオペランドを指定すると性能が向上します。
《指定値の目安》
レジストリ情報用バッファ長は,次に示す計算式から求めてください。
↑( 0.3+a)↑×b          (単位:キロバイト)
a:レジストリキー長の平均長(単位:キロバイト)
  レジストリキー値の平均長は次に示すSQLで求められます。
  このSQLの結果の単位はバイトのため,キロバイトに変換してください。
      SELECT AVG(KEY_LENGTH) FROM MASTER.SQL_REGISTRY
 
b:レジストリキーの登録数
  レジストリキーの登録数は次に示すSQLで求められます。
      SELECT COUNT(*) FROM MASTER.SQL_REGISTRY
 
《指定値のチューニング方法》
レジストリ情報用バッファ長のチューニング方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。
《オペランドの省略値》
このオペランドを省略すると,サーバ共通定義の同じオペランドの指定値が有効となります。サーバ共通定義の同じオペランドも省略すると,10が仮定されます。