5.5.3 レンジインデクスの一括先読み
HADBサーバの開始時にレンジインデクスをグローバルバッファ上に一括して読み込むことができます。これをレンジインデクスの一括先読みといいます。レンジインデクスの一括先読みをする場合は,サーバ定義のadb_sql_rngidx_prereadオペランドを指定してください。
(1) レンジインデクスの一括先読みを行うメリット
HADBサーバの開始後,初回の表検索時,グローバルバッファ上にはレンジインデクスのデータがありません。そのため,グローバルバッファ上にレンジインデクスのデータを読み込むためのI/Oが必ず発生し,それが原因で表の検索性能が低下します。レンジインデクスの一括先読みを実行しておくと,このI/Oをなくすことができます。
(2) 一括先読みしたレンジインデクスのデータの掃き出しを防ぐ方法
一括先読みしたレンジインデクスのデータも,グローバルバッファ上からの掃き出しの対象になります。一括先読みしたレンジインデクスのデータの掃き出しを防ぎたい場合は,次に示すことを実施してください。
-
掃き出しを防ぎたいレンジインデクスを専用のデータ用DBエリアに格納する
-
掃き出しを防ぎたいレンジインデクスを格納するデータ用DBエリアに割り当てるグローバルバッファのページ数を正しく見積もる(サーバ定義adbbuffオペランドの-aオプションの指定値を正しく見積もる)
-aオプションの見積もり式については,「7.2.17 グローバルバッファに関するオペランドおよびオプション(コマンド形式)」のadbbuffオペランドの-aオプションの説明を参照してください。