当前位置:首页 > 数据库 > Oracle技术

Oracle日期字段建了索引,排序时却没走索引解决方法

优良自学吧提供Oracle日期字段建了索引,排序时却没走索引解决方法,Oracle日期字段建了索引,排序时却没走索引本帖最后由 ruoye_2008 于 2014-06-09 15:33:54 编辑 平时表中一般会有一个date型的字段记录的插入时间(create_time) 查询时:select&

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 ,涉及到排序的,不走索引是正常的。
(本文来自互联网,不代表搜站(http://www.ylzx8.cn/)的观点和立场)
本站所有内容来自互联网,若本站收录的信息无意侵犯了贵司版权,请给我们来信(ylzx8cn@163.com),我们会及时处理和回复,谢谢