実行計画を知るために、これ迄、SQL*Plus から explain plan for や set autotrace を投入する
やり方を 9i (9.2) 以降、何10年も続けて来たんだが、先日、10g (10.2) で明らかな「誤り」に気づいて
調べた結果、必ずしも正しい実行計画が得られないことが分かった。具体的にはバインド変数を含む
SQLや、mv による query rewrite を行うケース。
代案として dbms_xplan.display_cursor テーブル関数を用いて SQLカーソルから得る方法が
しばちょう先生の記事に載ってた。マニュアルにもあるが、こういう情報を出してくれるのはありがたい。