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つまたは複数のホスト変数定義を変更する。