MySQL数据库索引失效

Java面试题

MySQL数据库索引失效

1.对索引字段使用左或者两侧模糊匹配时索引失效(使用右模糊匹配可以走索引)

2.对索引字段使用函数,例如where length(id)=32。解决办法是直接带函数新建一个索引,length(id)作为字段新建索引。

3.对索引字段进行表达式计算,例如where age+1 = 18。解决办法是将表达式计算放到值那一侧,where age = 18-1

4.联合索引中未使用最左侧索引字段,比如联合索引包含字段(name,age),我们只根据age字段进行匹配不会走索引。

5.OR条件有一侧条件字段未使用索引。

6.索引字段类型为varchar,但是与int类型进行匹配,比如age字段为varchar,where age>10时就不会走索引。

你可能感兴趣的:(Java面试题,数据库,mysql)