平时表中一般会有一个date型的字段记录的插入时间(create_time)
查询时:
select * from table order by create_time desc;
查看执行计划,发现没走索引,还是TABLE ACCESS FULL
在线上千万级数据的真实表也是如此。
就拿通用的emp为例,我给HIREDATE字段建了一索引
然后:
select * from emp order by HIREDATE desc
查看其执行计划,发现也是没走索引
以上两种,如是把日期字段作为查询条件,还是走索引的
难道日期字段排序不会走索引?求解惑!
------解决方案--------------------
既然要全表查询,全表扫描自然是最好的,何必要走索引?
------解决方案--------------------
你这个就是全表查询,一个where条件也没有。这种查询走索引还没有全表扫描快。
------解决方案--------------------
oracle选择认为合适的执行计划
------解决方案--------------------
楼主你那是order by ,涉及到排序的,不走索引是正常的。