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

ruoye_2008 2014-06-09 03:32:56
平时表中一般会有一个date型的字段记录的插入时间(create_time)
查询时:
select * from table order by create_time desc;

查看执行计划,发现没走索引,还是TABLE ACCESS FULL

在线上千万级数据的真实表也是如此。

就拿通用的emp为例,我给HIREDATE字段建了一索引
然后:
select * from emp order by HIREDATE desc

查看其执行计划,发现也是没走索引

以上两种,如是把日期字段作为查询条件,还是走索引的

难道日期字段排序不会走索引?求解惑!
...全文
2392 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
皮特尔 2014-06-10
  • 打赏
  • 举报
回复
你这个就是全表查询,一个where条件也没有。这种查询走索引还没有全表扫描快。
善若止水 2014-06-10
  • 打赏
  • 举报
回复
楼主你那是order by ,涉及到排序的,不走索引是正常的。
小德 2014-06-10
  • 打赏
  • 举报
回复
oracle选择认为合适的执行计划
小灰狼W 2014-06-09
  • 打赏
  • 举报
回复
既然要全表查询,全表扫描自然是最好的,何必要走索引?

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧