程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> Oracle中一個日期查找的誤區

Oracle中一個日期查找的誤區

編輯:關於MYSQL數據庫

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved