Oracle 字段a date类型 ,a>to_date 不走索引,a>sysdate-5走,这是为什么?
隐式转换
楼上看错了吧? 都是date类型, 怎么会有隐式转换. 如果a>sysdate-5 能走索引, 那么另一个没有描述清楚的a>TO_DATE应该是一个比较远的日期, 比如a>to_date('2020-01-01','yyyy-mm-dd') , 这种选择性比较差的条件, 不走索引很正常. 因为优化器计算出来走索引的cost比全表扫描的cost要高.