我有一个大型查询,我正在尝试进行顶级优化。我想改变的条件之一如下所示。即我正试图删除标量函数。
当前
DATE( ACTIVITY.CREATED) ='2009-02-18'
以
ACTIVITY.CREATED BETWEEN '2009-02-18 00:00:00' AND '2009-02-18 24:00:00'
在检查解释计划后,我看不到太多改进。事实估计成本从4532.380859到4532.601074
任何建议都会有所帮助。
答案 0 :(得分:0)
为什么要删除该功能?如果优化器确定DATE()
列上的现有索引将提供更好的访问路径,则消除该谓词中的CREATED
函数只会产生影响。如果没有这样的索引,或者优化器选择了更好的索引(对于查询中的其他谓词),那么得到你找到的结果并不奇怪。