索引失效的问题

thordon 2012-11-26 03:10:58
select * from CARDINFO_154 where ROWNUM=1 AND START_182 = '190000001157362'
会使用索引
select * from CARDINFO_154 where ROWNUM=1 AND START_182 <= '190000001157362' AND END_182 >= '190000001157362'
也会使用索引 COST 4


select * from CARDINFO_154 where ROWNUM=1 AND START_182 = '190000001157362'
union all
select * from CARDINFO_154 where ROWNUM=1 AND START_182 <= '190000001157362' AND END_182 >= '190000001157362'

不会使用索引 COST 3000多


我对 start_182 end_182 都建了索引 start_182和end_182也建了组合索引
数据量在60W左右

...全文
138 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
youqi1984 2012-11-27
  • 打赏
  • 举报
回复
我对 start_182 end_182 都建了索引 start_182和end_182也建了组合索引 ------------ 为什么建这么多索引。为什么不直接建组合索引。
linwaterbin 2012-11-27
  • 打赏
  • 举报
回复
这问题比较复杂,最好贴出表的定义,索引定义,执行语句及其执行计划等详细信息,大家才能帮你分析分析
fw0124 2012-11-27
  • 打赏
  • 举报
回复
奇怪,把执行计划贴出来看看?
流浪川 2012-11-26
  • 打赏
  • 举报
回复
执行一下统计分析试试,dbms_stats.gather_table_stats('大写用户名','大写表名');
thordon 2012-11-26
  • 打赏
  • 举报
回复
顶一下 100分的题也

17,377

社区成员

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

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