2011-08-15 4 views
0

2つのかなり複雑なビューがあります。私は両方の列に参加するレポートを作成する必要があります。 各ビューは、完全な結果セットで1分未満で別々に戻ります。 私は彼らに参加すると、オプティマイザはクエリーを再構築して奇妙なことを起こすため、結果はまったく返されません。 質問は、オプティマイザに最初に両方のセットを取得し、次にそれらを結合するよう指示する方法があるかどうかです(各セットはわずか数千のレコードです)。溶液は中間テーブルを作成するに基づいて当面のためにOracle - JOIN 2つの複合ビュー - オプティマイザの障害

(ビューでも働いていたマテリアライズド)が、私は単一のクエリでは、

は見ることができず、あなた

+0

おそらく、両方のセットを最初に取り出してから結合するようにオプティマイザに指示する方法があります。ビューとSQLの計画と計画、2つのビューが結合されているクエリの計画を調べたり投稿する必要があります。ヒントについても読むhttp://download.oracle.com/docs/cd/B19306_01/server.102/b14211/hintsref.htm – bpgergo

答えて

3

に感謝することをやってみたいです計画、クエリ、ビュー、およびテーブル構造を説明することは確かに言い難い。私は、このような場合には、ビューを使用しないようにクエリを書き直して、直接必要なものだけを実行するのが最善の答えだと言います。それはおそらくそれを解決するでしょう。

これができない場合は、NO_REWRITE optimizer hintをお試しください。

これは、Oracleに直接問合せを試して解釈させ、書き直しを行わないように指示します。

+0

それは私の問題を解決しました!ありがとうございました –