經常要在數據中檢索近一個月來發生的數據
所以采用如下語句select * from eventtable where eventdate>sysdate
當數據量小的時候還看不出來
數據量大一些就會發現上面的語句很慢
但eventdate(日期型字段)上也是有索引的
可為什麼會慢呢? 原來是oracle在進行查找的時候不斷地去取sysdate這個不斷變化的值
而不是我們想象中的一次產生一個條件語句然後進行查找
為了加快速度
我們可以先把當天的日期取出來
然後轉成字符串後再用如下語句查
select * from eventtable where eventdate > to_date(
yyyy
mm
dd)
速度竟然差了幾十倍
From:http://tw.wingwit.com/Article/program/Oracle/201311/17106.html