編輯9-3-10:我最近發現這個博客條目非常有啓發性。 http://optimizermagic.blogspot.com/2007/12/outerjoins-in-oracle.htmlOracle外連接 - 性能
有時候,其中一個或另一個連接語法可能實際上表現更好。我還發現,當選擇ANSI連接語法時,有一點注意到性能略有提高(僅在VLDB中可見)。可能不足以讓人煩惱,但對於那些認真掌握Oracle DB的人來說,查看文章可能會有幫助。
我知道兩個外連接語法對於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
這些性能有差異嗎?起初,我認爲它只是開發人員的一種風格偏好,但後來我讀了一些讓我覺得可能會使用一種風格而不是另一種風格的理由。
(+)進入非ANSI連接的WHERE子句。 – 2009-08-20 20:31:46
謝謝 - 可能很明顯,我從不使用舊的Oracle方式。我來自SQL Server世界。我會糾正它。 – user158017 2009-08-21 00:58:24