經(jīng)常要在數(shù)據(jù)中檢索近一個(gè)月來(lái)發(fā)生的數(shù)據(jù),所以采用如下語(yǔ)句select * from eventtable where eventdate>sysdate-30,當(dāng)數(shù)據(jù)量小的時(shí)候還看不出來(lái),數(shù)據(jù)量大一些就會(huì)發(fā)現(xiàn)上面的語(yǔ)句很慢,但eventdate(日期型字段)上也是有索引的,可為什么會(huì)慢呢? 原來(lái)是Oracle在進(jìn)行查找的時(shí)候不斷地去取sysdate這個(gè)不斷變化的值,而不是我們想象中的一次產(chǎn)生一個(gè)條件語(yǔ)句然后進(jìn)行查找。為了加快速度,我們可以先把當(dāng)天的日期取出來(lái),然后轉(zhuǎn)成字符串后再用如下語(yǔ)句查,select * from eventtable where eventdate > to_date('2001-12-1','yyyy-mm-dd')。速度竟然差了幾十倍。