SQL Tuning Guru's HELP HELP !
Date: Thu, 20 Aug 1998 15:51:02 GMT
Message-ID: <6rhgl6$h0j$1_at_nnrp1.dejanews.com>
Guru's !
I have a SQL query :
Select /*+ ORDERED INDEX (c x2_tab3) */
c.col1, c.col2, .... From table1 a, table2 b, table3 c Where a.col1||'' = c.col1||'' AND c.col2 BETWEEN to_date(199805,'YYYYMM') AND last_day(to_date(199805235959,'YYYYMMHH24MISS')) AND trunc(c.col2) > c.col3 AND c.col3 >= '01-MAY-98'
AND to_number(c.col4) = b.col1
......
here I have an index on :
Table Indexed Col IndexName
table1 a.col1 pk_tab1
table2 b.col1 b.col2 b.col3 b.col4 pk_tab2 table3 c.col1 x3_tab3 c.col2 x2_tab3
When I take the query plan ... it looks like the index on table3.col2 is being used ... but I wanted to know if that index will be used at all in fetching rows as i am using a function on the same column in the next condition of the where clause ....??
Is there any other way to get around the trunc function ... I have to do it as the c.col2 is a date field with a timestamp and c.col3 is a date field without a timestamp ... how do you compare these fields keeping the same logic applied but not using the TRUNC or a to_char ... ??
Please Help !!
Thanks Mates !!
Mahesh !
Pls cc : mashy_at_null.net
-----== Posted via Deja News, The Leader in Internet Discussion ==----- http://www.dejanews.com/rg_mkgrp.xp Create Your Own Free Member Forum Received on Thu Aug 20 1998 - 17:51:02 CEST