質問: b.***
回答: >以下の2つのsqlを比較してどちらがパフォーマンスが良いでしょうか。 >先に抽出して結合した方が良いと昔聞いた事がありましたが ルールベースの場合の話かも知れません(9i以前なら使用可能) コストベースオプティマイザを使用すると、内部結合のon条件とwhere句とを同等に解析してくれるので、特に書き方来る性能差はないと考えればよいです。 (1)と(2)についてですが、「実行計画」をそれぞれ表示して比べてみてください。autotraceもよいですね。おそらく同じような結果が出ると思うのですが、基本的には(2)のような書き方はあまりすべきではありません。コストベースオプティマイザによる最適実行計画立案を妨げる恐れがある書き方だと思います。(もっと複雑なsqlだと、特に) 常に(1)のような書き方を心がけ、ベストの実行計画が出にくい場合にヒント句で調整するのが一番よい方法です。