引用时间索引的怪现象

Dustin15 2014-02-13 11:22:16
在一个2000万级别的表的日期字段rundate上建立了全局索引。
但是where条件使用rundate时不保证检索都能索引扫描,还会出现全表扫描的情况

一、SELECT A.* FROM DY_ROADSTATUS_AVG_HIST A
WHERE A.Rundate = TO_DATE('2013-08-31','yyyy-MM-dd') 全表扫描

二、SELECT A.* FROM DY_ROADSTATUS_AVG_HIST A
WHERE A.Rundate < TO_DATE('2013-08-31','yyyy-MM-dd') 索引扫描



有哪位大神知道是什么原因吗?
...全文
118 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dustin15 2014-02-13
  • 打赏
  • 举报
回复
引用 1 楼 qingrou123 的回复:
分析下每天的数据量
每天大概15万的数据量
qingrou123 2014-02-13
  • 打赏
  • 举报
回复
分析下每天的数据量
Dustin15 2014-02-13
  • 打赏
  • 举报
回复
引用 3 楼 zlloct 的回复:
[quote=引用 2 楼 hys015 的回复:] [quote=引用 1 楼 qingrou123 的回复:] 分析下每天的数据量
每天大概15万的数据量[/quote] 有可能是你的日期函数导致没有走索引[/quote] 可是 where rundate < TO_DATE('2013-08-31','yyyy-MM-dd') 的时候可以走索引呀
CT_LXL 2014-02-13
  • 打赏
  • 举报
回复
引用 2 楼 hys015 的回复:
[quote=引用 1 楼 qingrou123 的回复:] 分析下每天的数据量
每天大概15万的数据量[/quote] 有可能是你的日期函数导致没有走索引

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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