title: Oracle outer joins - performance
body: <p><strong>EDIT 9-3-10:</strong>  I found this blog entry recently that was very enlightening. <a href="http://optimizermagic.blogspot.com/2007/12/outerjoins-in-oracle.html" rel="nofollow noreferrer">http://optimizermagic.blogspot.com/2007/12/outerjoins-in-oracle.html</a></p>
  
  <p>There are times when one or the other join syntax may in fact perform better.  I have also found times when a have noticed a slight performance increase (only noticeable in VLDBs) when choosing the Oracle join syntax over the ANSI one.  Probably not enough to get fussy over, but for those serious about mastering the Oracle DB, it may be helpful to review the article.</p>
  
  <hr>
  
  <p>I am aware of two outer join syntaxes for Oracle:</p>
  
  <pre><code>select a, b
  from table1 
  left outer join table2
  on table2.foo = table1.foo
  </code></pre>
  
  <p>OR</p>
  
  <pre><code>select a, b
  from table1, table2
  where table2.foo(+) = table1.foo
  </code></pre>
  
  <p>(assuming I got the syntax of the second sample right.)</p>
  
  <p>Is there a performance difference between these?  At first I thought it must just be a style preference on the part of the developer, but then I read something that made me think maybe there would be a reason to use one style instead of the other.  </p>