导致索引失效的N种情况
1.模糊匹配查询 %通配符 如果%在左侧,索引会失效,导致全表扫描。如果%在右侧不影响。
2.使用and或or连接符。
1>使用or,or左侧的列有索引,or右侧的列没有索引,会导致全表扫描。
2>使用and,and左侧的列有索引,and右侧的列没有索引,不会导致全表扫描。
因为and左侧列使用索引查询完毕之后,数据被暂时存放到了内存中,and右侧进行查询直接从内存中进行查询,效率还是很高。
3.where子句后尽量避免对null值的判断。!= in not in or会导致全表扫描, like有可能导致全表扫描(参照第一条)。
4.复合索引必须使用最左前缀,否则导致放弃索引查询。
5.遇到之后再补充

浙公网安备 33010602011771号