Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Why does this query need a table access by rowid?

Re: Why does this query need a table access by rowid?

From: Tanel Põder <tanel.poder.003_at_mail.ee>
Date: Fri, 23 Jul 2004 21:17:29 +0300
Message-ID: <357001c470e1$55bf9d30$0a879fd9@porgand>


> So, the index is recognized, and that's great. My question is, why is
> the TABLE ACCESS BY ROWID required?
> Since only the DOC_ID is in the select list, why the table access?

Since in the index you don't have the DOC_ID column, you have only the function of DOC_ID in your index and Oracle isn't smart enough to look inside the function to see whether the funcion leaves the value unaltered...

Try to do a composite index on f(doc_id), doc_id.

Tanel.



Please see the official ORACLE-L FAQ: http://www.orafaq.com

To unsubscribe send email to: oracle-l-request_at_freelists.org put 'unsubscribe' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------
Received on Fri Jul 23 2004 - 13:14:13 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US