正常情况索引使用完全如下所示。
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、如果索引列进行了返回查找,索引效果也会下降。
在使用!=等判断条件也会导致索引失效。