【MySQL索引】索引失效场景
索引失效
1 全值匹配肯定不失效
2 最佳左前缀法则
索引文件具有 B-Tree 的最左前缀匹配特性,如果左边的值未确定,那么无法使用此索引。
3 主键插入顺序
页分裂,建议 让主键具有 AUTO_INCREMENT
4 计算、函数、类型转换(自动或手动)导致索引失效
5 类型转换导致索引失效
6 范围条件右边的列索引失效
联合索引有范围查询建议放到最后一个条件
7 不等于(!= 或者<>)索引失效
8 is null可以使用索引,is not null无法使用索引
9 like以通配符%开头索引失效
10 OR 前后存在非索引的列,索引失效
11 数据库和表的字符集统一使用utf8mb4
以避免由于字符集转换产生的乱码。不
同的 字符集 进行比较前需要进行 转换 会造成索引失效