title: Can using a VIEW for SELECT operations improve performance?
body: <p>Working on improving performance of our decision center, one of the bottlenecks we identify is the DB.</p>
  
  <p>So I wonder, does oracle compiles an Execution Plan for it's views?</p>
  
  <p>Lets hypothetically assume I have a defined query being used <code>10000</code> times during a request.
  The query looks something like :</p>
  
  <pre><code>select A, B, C 
  from aTbl, bTbl left join cTbl on bTbl.cTblID = cTbl.objectkey
  where aTbl.objectkey = bTbl.parentkey
  </code></pre>
  
  <p>In the code I would like to fetch the result of the query above with additional filtering parameter, for example: <code>WHERE aTbl.flag1 = &lt;&lt;NUMBER&gt;&gt;</code></p>
  
  <p>Now I have 2 options:</p>
  
  <ol>
  <li>Creating a prepared statement using the above <code>SQL</code>, then reusing the object.</li>
  <li>Putting the above <code>select (aTbl, bTbl, cTbl)</code> into a <code>VIEW</code>, then creating a prepared statement on this view, thus benefiting the from execution plan precompiled b Oracle.</li>
  </ol>
  
  <p>What would you suggest?</p>