WHERE条件中使用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 BETWEEN TRUNC(SYSDATE) - 1 AND
TRUNC(SYSDATE) - 1 + 23 / 24
一般耗时0.05秒。差别太大了。