10.10.1 グローバルバッファの先読み入力の効果と実行方法
グローバルバッファの先読み入力とは,指定した表やインデクスのデータをあらかじめグローバルバッファに読み込みしておく機能です。概要を次の図に示します。
- 〔説明〕
-
-
グローバルバッファの先読み入力をしない場合
HiRDB開始直後にUAPが表にアクセスする時,グローバルバッファにはデータがないため,表からデータを読み込みます(物理的な入出力が発生します)。以降,この表のデータにアクセスする時は,グローバルバッファに読み込まれているページについては表からの読み込みは発生しません。ただし,ほかのページのデータにアクセスする時は,読み込み処理が発生します。
-
グローバルバッファの先読み入力をする場合
あらかじめ表のデータをグローバルバッファに読み込んでいるため,表からデータを読み込まないで表にアクセスできます(物理的な入出力は発生しません)。以降,この表にアクセスする時,表からの読み込みはありません。
-
- 〈この項の構成〉
(1) グローバルバッファの先読み入力の効果
指定した表やインデクスのデータを先読み入力しておくため,バッファヒット率が高くなります。HiRDB開始直後,オンライン業務開始前などに,入出力が多いと思われる表やインデクスを先読みしておくことで,高いバッファヒット率が期待できます。
(3) 使用上の考慮点
-
グローバルバッファの面数は,先読み入力する表やインデクスが格納されているページ数より多く必要です。
-
グローバルバッファの面数が十分でない場合,LRU管理方式によってグローバルバッファから古いページ情報が追い出されます(システム定義のpd_dbbuff_lru_optionオペランドの値に従って,アクセスしたグローバルバッファ中の最も古いページが追い出されます)。そのため,グローバルバッファの面数が十分でない場合,pdpgbfonを実行しても意味がありません。
-
グローバルバッファ常駐化ユティリティ(pdpgbfon)で先読みする場合,格納ページ順の読み込みとなるため,プリフェッチ機能が有効となります。グローバルバッファを定義する場合,プリフェッチ数を指定することで実行時間の短縮が図れます。