View previous topic :: View next topic
|
Author |
Message |
chinnielr
New User
Joined: 11 Jul 2005 Posts: 87
|
|
|
|
Hi All,
I have the following querys:
SELECT ID, ADDRESS
FROM EMPLOYEE A
WHERE ID=12345
AND CURRENT DATE BETWEEN A.EFF_DT AND A.EXP_DT
SELECT ID, ADDRESS
FROM EMPLOYEE A
WHERE ID=12345
AND CURRENT DATE > A.EFF_DT AND CURRENT DATE < A.EXP_DT
Out of these two queries which query yields better performance.
Here I am using operators > and < instead of BETWEEN.
Please suggest.
Thanks,
Chinni. |
|
Back to top |
|
|
ashimer
Active Member
Joined: 13 Feb 2004 Posts: 551 Location: Bangalore
|
|
|
|
Do an EXPLAIN on your query and see the o/p in PLAN_TABLE and DSN_STATEMNT_TABLE ...
BETWEEN is usually more efficient than <= predicate and the >= predicate
Except when comparing a host variable to 2 columns
I guess this concept was bought in DB2 versions after version 6 ... bfore that > and < used to perform better ... i read this in some blog by craigmullins ... |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
Quote: |
Out of these two queries which query yields better performance
|
Performance is not your worry, accuracy is.
BETWEEN, as ashimer said, is =< =>, NOT < and >.
so, you do not want to use between. |
|
Back to top |
|
|
|