- ベストアンサー
アナライズとヒント句
sqlのselectが長時間にわたって終了しないのでヒント句でHASH指定をしたところ、アナライズのサンプルレートにより効いたり、効かなかったりします(実行計画で確認)。こんなことはあるのでしょうか。 ちなみにoracle10G-R2です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
オプティマイザは、統計情報を見て「ヒントに指定されたHASHを使うべきか」を判断します。 >アナライズのサンプルレートにより効いたり、効かなかったりします レートを変えると言う事は、NUM_ROWS、カーディナリティ、分布の統計情報取得が変化する、と言う事ですから、ちょうど閾値にまたがった時など、効いたり効かなかったりはあると思います。 (つまりヒントは万能ではないのです) ※効いた時の実行計画でストアドアウトラインを保持してみては?
お礼
ストアドアウトラインという方法があるんですね。もともと、8i→10gでの性能劣化なので、採用する価値があると思います。勉強してみます。ありがとうございました。