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

Home -> Community -> Usenet -> c.d.o.misc -> Re: Query Performance: Using DECODE() instead of IN()

Re: Query Performance: Using DECODE() instead of IN()

From: Daniel Morgan <damorgan_at_x.washington.edu>
Date: Tue, 21 Oct 2003 08:55:28 -0700
Message-ID: <1066665341.400049@yasure>


Anurag Varma wrote:

>"Paul Tomlinson" <rubberducky703_at_hotmail.com> wrote in message
>news:bn0s31$rs13r$1_at_ID-116287.news.uni-berlin.de...
>
>
>>Guys, a question,
>>
>>Which is the more effecient way of running a query:
>>
>>select * from x where decode(y,'Y',1,'Q',1,0) = 1
>>
>>or
>>
>>select * from x where y in ('Y','Q')
>>
>>I think I recall somewhere that using a decode uses an index scan where
>>using IN() uses a full table scan, however I can't seem to prove this.
>>
>>Trying to search for in and decode in google is not fun. Any ideas?
>>
>>PT
>>
>>
>>
>>
>
>In the above two cases, use the IN. Any function on a column used in where
>clause, might disable index usage.
>Also: Decode is going to be deprecated in future Oracle versions
>
>Anurag
>
>

Can you point me to anything that confirms your statement about DECODE being deprecated? Thanks.

-- 
Daniel Morgan
http://www.outreach.washington.edu/ext/certificates/oad/oad_crs.asp
http://www.outreach.washington.edu/ext/certificates/aoa/aoa_crs.asp
damorgan_at_x.washington.edu
(replace 'x' with a 'u' to reply)
Received on Tue Oct 21 2003 - 10:55:28 CDT

Original text of this message

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