当前位置: 代码迷 >> Oracle技术 >> Oracle日期字段建了目录,排序时却没走索引
  详细解决方案

Oracle日期字段建了目录,排序时却没走索引

热度:79   发布时间:2016-04-24 08:08:27.0
Oracle日期字段建了索引,排序时却没走索引
本帖最后由 ruoye_2008 于 2014-06-09 15:33:54 编辑
平时表中一般会有一个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 ,涉及到排序的,不走索引是正常的。
  相关解决方案