• ベストアンサー

アナライズとヒント句

sqlのselectが長時間にわたって終了しないのでヒント句でHASH指定をしたところ、アナライズのサンプルレートにより効いたり、効かなかったりします(実行計画で確認)。こんなことはあるのでしょうか。 ちなみにoracle10G-R2です。

質問者が選んだベストアンサー

  • ベストアンサー
  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.1

オプティマイザは、統計情報を見て「ヒントに指定されたHASHを使うべきか」を判断します。 >アナライズのサンプルレートにより効いたり、効かなかったりします レートを変えると言う事は、NUM_ROWS、カーディナリティ、分布の統計情報取得が変化する、と言う事ですから、ちょうど閾値にまたがった時など、効いたり効かなかったりはあると思います。 (つまりヒントは万能ではないのです) ※効いた時の実行計画でストアドアウトラインを保持してみては?

namidame_dion
質問者

お礼

ストアドアウトラインという方法があるんですね。もともと、8i→10gでの性能劣化なので、採用する価値があると思います。勉強してみます。ありがとうございました。

関連するQ&A