索引失效的情况

索引失效的情况

正常情况索引使用完全如下所示。

1、当所建索引是联合索引时,查询条件要按照联合索引的顺序进行,否则会出现索引失效的情况。

①当联合索引的第一个字段不出现在条件中,而且where后面不包括所有索引列,俺么所有的索引都会失效。

②当联合索引的第一个字段出现在条件中,但是其他字段没按照顺序进行,后面的索引就会失效。

如:联合索引为(status,type,category)

where type=2 and category=1(索引完全失效)

where status = 1 and category =2(status索引有效,category索引失效)

但是,where status = 1 and ategory =1 and type =2(索引有效)

2、在索引列进行计算,索引失效。

3、如果索引列进行了返回查找,索引效果也会下降。

4、在使用!=等判断条件也会导致索引失效。