oracle中sql查询超时问题

img


这个查询的sql(也试过子查询),如果我把时间查询条件删除,几秒内就能查出数据,加上时间条件后就会查询超时,这是属于正常现象吗?搞不懂为什么查全部很快,加上条件就查询超时了,难道不应该有时间范围会更快一些吗?

如果你的coupon_no有索引,那么的确有可能会不加日期条件更快,因为你最终的目的是统计coupon_no的去重个数,而索引是可以快速计算出这个值的;而当你用了时间条件后,执行计划可能就不走coupon_no的索引了,速度反而会慢,你可以看下加时间条件和不加时间条件的执行计划的区别,在plsql中看执行计划的快捷方式是,选中sql,按F5

b表的accept_date有加索引吗