0%

MySQL-索引失效

全值匹配(最好)

建立复合索引 (name,age,salary),使用到了一个

使用到了2个

使用用到了3个

最佳左前缀法则

如果索引的多列,要遵守最左前缀法则,指的就是从索引的最左列开始并且不跳过索引中的列

跳过第一个,索引失效

跳过前两个, 索引失效

跳过中间一个,只有第一个生效

顺序可以乱

不在索引列上做任何操作

计算,函数,类型转换,会导致索引失效而转向全表扫描

正常状态

添加了运算

范围条件右边的索引失效

全部使用

使用了范围

mysql在使用不等于 (!= 或者 <>) 的时候无法使用索引会导致全表扫描

等于

不等于

is not null 无法使用索引

少用 or 用 or 连接时,会导致索引失效

like 以通配符开头 (%qw) 索引失效变成全表扫描

使用 % 开头

使用 % 结尾

使用覆盖索引解决两边 %

字符串不加引号索引失效

尽量使用覆盖索引

覆盖索引查询的字段和建立的字段刚好吻合,这种我们称为覆盖索引

↓赏一个鸡腿... 要不,半个也行↓