Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Optimizer and function based index
Hi everybody,
I'm hoping someone can help me understand this.
I have this query -
SELECT ORDERID FROM WWW_SHOPCART
WHERE UPPER(MEMBERNAME) ='198917777' ;
I added an index on the column UPPER(MEMBERNAME) and it works great.
I have another query -
SELECT ORDERID FROM WWW_SHOPCART
WHERE UPPER(MEMBERNAME) ='198917777' OR UPPER(MEMBERNAME)='1989155555';
and this query will not use the index at all.
I can't understand why the optimizer won't choose to use the function based index when there is an OR clause. I've tried the same query with just MEMBERNAME= and using an index on MEMBERNAME, and the optimizer will use the index if I OR my criteria together.
Any ideas?
Thanks,
Beth
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Seefelt, Beth
INET: Beth.Seefelt_at_TetleyUSA.com
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Liststo: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Thu Feb 14 2002 - 21:11:30 CST
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
![]() |
![]() |