全值匹配(最好)
建立复合索引 (name,age,salary),使用到了一个
使用到了2个
使用用到了3个
最佳左前缀法则
如果索引的多列,要遵守最左前缀法则,指的就是从索引的最左列开始并且不跳过索引中的列
跳过第一个,索引失效
跳过前两个, 索引失效
跳过中间一个,只有第一个生效
顺序可以乱
不在索引列上做任何操作
计算,函数,类型转换,会导致索引失效而转向全表扫描
正常状态
添加了运算
范围条件右边的索引失效
全部使用
使用了范围
mysql在使用不等于 (!= 或者 <>) 的时候无法使用索引会导致全表扫描
等于
不等于
is not null 无法使用索引
少用 or 用 or 连接时,会导致索引失效
like 以通配符开头 (%qw) 索引失效变成全表扫描
使用 % 开头
使用 % 结尾
使用覆盖索引解决两边 %
字符串不加引号索引失效
尽量使用覆盖索引
覆盖索引查询的字段和建立的字段刚好吻合,这种我们称为覆盖索引