Observation: LIST SEQUENTIAL PREFETCH(監視レポート:LIST SEQUENTIAL PREFETCH)
DB2オプティマイザーは、照会のアクセス方法の一部としてLIST PREFETCHを選択しました。LIST PREFETCHは、索引からのRIDのリストで特定されたデータ ページを読み取ります。以下のいずれかが該当する場合に、LIST PREFETCHがアクセス方法の一部として選択されます。
-
使用されている1つの索引のクラスター率が80%未満の場合。
-
クラスター率の高い索引。アクセスされるデータ量の見積もりが、順次プリフェッチを効率的に行うには少なすぎるが、定期的な読み取りを2つ以上行うには十分な場合。
-
複数索引アクセスによってデータにアクセスする場合。
-
ハイブリッド結合で内部表からデータにアクセスする場合。
照会の実行時、処理されるRIDの数の見積もりがRID POOLの50%を超えると、DB2はLIST SEQUENTIAL PREFETCHを終了します。この状況は、RID POOL FAILUREと呼ばれ、アプリケーションのパフォーマンスが著しく低下することがあります。RID POOL FAILUREは、DB2PM Accounting Detail(DB2パフォーマンス モニターのアカウンティング詳細)レポートを分析して検出できます。
RID POOL FAILUREが検出された場合、この状況が発生しており、RID POOLのサイズを大きくする必要がある旨をデータベース管理者に報告してください。また、LIST PREFETCHを無効にするために、SQLへの変更を以下のように行ってください。
-
OPTIMIZE FOR n ROWS文節を追加する。
-
GROUP BY文節を追加する。
-
1つまたは複数のホスト変数定義を変更する。