大家来谈谈哪些情况可以导致索引失效
今天写了一条sql,执行的时候发现用时非常长,以至于查不出结果。
后来发现是一个有索引的字段使用了like 和 upper()导致了索引失效。
然后我就试了以下几种都会使索引失效
!=、is null、like、+/-、upper/lower(upper(A.NAME) = 'name'这种情况)
在ORACLE中到底有哪些情况会导致索引失效呢?
------解决方案--------------------围观中
------解决方案--------------------
我举报路上
话说 索引不是 主键 唯一件 这些么
------解决方案--------------------1.函数
2.表达式
3.部分隐式转换
4.like和substr
5.查询所有null值
6.否定形式
------解决方案--------------------这个不叫索引失效,确切的说,是你的查询没有走索引,对不?
------解决方案--------------------你怎么可以这样
------解决方案--------------------方便面的世界果然难以理解。。难道是你却火腿肠吗?
结贴给分,废话那么多
------解决方案--------------------
这个不叫索引失效,确切的说,是你的查询没有走索引,对不?
好像是 我不太懂
看执行计划,上sql,上表结构
------解决方案--------------------这么多表,数据量一大肯定要慢
你先看看每个表的执行情况,然后看看到底是加到哪个条件或者哪个表才慢