再最適化されたアクセス・パスの取り込み
特定の REOPT オプションが指定されている場合、SQL ステートメントの再最適化されたアクセス・パスを正確に反映する EXPLAIN 情報の取り込みには特別な手段が必要になります。
このタスクについて
実行時に再最適化されるSQLステートメントに関するEXPLAIN情報は、Db2が実行時に使用するアクセス・パスを常に表しているわけではありません。 例えば、以下の各状況では、キャプチャーされたEXPLAIN情報は、リテラル値が不明な場合にDb2が選択するアクセス・パスを反映しています。
- REOPT(ALWAYS) オプションを使用する静的 SQL ステートメントについては、EXPLAIN(YES) がバインド時に指定されている場合。
- パラメーター・マーカーと特殊レジスターが含まれており、REOPT(ONCE) または REOPT(AUTO) オプションを使用する動的 SQL ステートメントについては、EXPLAIN PLAN ステートメントが発行された場合。
したがって、Db2は、リテラル値が既知の場合に、実行時に別のアクセス・パスを選択することがあります。
プロシージャー
実行時に再最適化されるステートメントのアクセス・パスを正確に反映する EXPLAIN 情報を取り込むには、以下の方法を使用します。