【Oracle】 カーディナリティ・フィードバック(Cardinality Feedback)
同じSQLを実行しても同じ実行計画が選択されない場合がある。 そのような状況が発生している場合、11gR2より実装されたカーディナリティ・フィードバック機能(Cardinality Feedback)が影響している可能性がある。
カーディナリティ・フィードバック(Cardinality Feedback)
- 実行計画を生成するCBOのインプット情報に実データのカーディナリティを加えることによって、より最適な実行計画を生成する機能
- ハードパース時、統計情報と実データのカーディナリティにかい離がある場合、そのカーディナリティを記録し、その後実行される同一SQLの実行計画は、実データを加味して最適になるように変更される可能性がある
引用: http://www.oracle.com/technetwork/jp/ondemand/db-new/b-14-consulsql-1448421-ja.pdf
設定方法
※ 隠しパラメータは通常、「サポートセンターの指示なしでは設定すべきでない」パラメータですのでご注意ください
隠しパラメータ _optimizer_use_feedback をTRUEに設定する(デフォルト値はTRUE)
参考
http://dioncho.blogspot.jp/2009/12/oracle-11gr2cardinaliy-feedback.html