> 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@xxxxxxxxxxxxx put 'unsubscribe' in the subject line. -- Archives are at //www.freelists.org/archives/oracle-l/ FAQ is at //www.freelists.org/help/fom-serve/cache/1.html -----------------------------------------------------------------