Oracle trunc 影响效率

不要对时间字段进行函数处理,非常慢

低能--每提取一条记录都要对时间字段进行函数处理才能确定是否合适
SELECT COUNT(1)
  FROM A_BASIC_CS_RADIO_H
WHERE TRUNC(COLLECTTIME) = TRUNC(SYSDATE) - 1
一般耗时4-5秒。

高效--直接可以判断是否合适
SELECT COUNT(1)
  FROM A_BASIC_CS_RADIO_H
WHERE

COLLECTTIME>=trunc(sysdate-1)
           AND COLLECTTIME <trunc(sysdate)

一般耗时0.05秒。差别太大了。

另外:trunc(SYSDATE)返回的是当天日期的[00:00:00]

猜你喜欢

转载自slnddd.iteye.com/blog/1868669