EDIT 9-3-10:最近このブログエントリが見つかりました。これは非常に啓発的でした。 http://optimizermagic.blogspot.com/2007/12/outerjoins-in-oracle.htmlOracle外部結合 - パフォーマンス
実際には、1つまたは他の結合構文が優れている場合があります。また、ANSIよりもOracle結合構文を選択したときに、わずかなパフォーマンスの向上(VLDBでのみ顕著)が発生していることがわかりました。たぶん十分な情報は得られないかもしれませんが、Oracle DBをマスターすることについて真剣に取り組んでいる人にとっては、その記事をレビューすることが役立ちます。
私は2つの外側のOracleの構文に参加するのを認識しています:
select a, b
from table1
left outer join table2
on table2.foo = table1.foo
OR
select a, b
from table1, table2
where table2.foo(+) = table1.foo
(。私は第2サンプル右の構文を得たと仮定した場合)
これらの間にパフォーマンスの違いはありますか?最初は私はそれが開発者のスタイルの好みに過ぎないと思っていましたが、それから私はもう一つのスタイルを使う理由があると思うかもしれない何かを読んでいました。
(+)は、非ANSI結合のWHERE句に入ります。 –
ありがとうございます - おそらく明らかなように、私は古いオラクルの方法を使用しません。私はSQL Serverの世界から来た。私はそれを修正します。追加情報ありがとうございました。 – user158017