1. 联合索引
关于联合索引的详解参考博客【Mysql-----联合索引和最左匹配】,包含讲解
-
最左匹配
-
联合索引失效的情况
- 不遵循最左匹配原则
- 范围查询右边失效原理
like
索引失效原理
比较关注的点在于:
对A、B、C三个字段创建一个联合索引(A, B, C),若where
条件后是以下几种情况会不会走索引?
select A, B, C, D from t_a where A=1 and B=1 and C=1; -- 走索引
select A, B, C, D from t_a where A=1 and B=1; -- 走索引
select A, B, C, D from t_a where A=1 and C=1 and B=1; -- 走索引,MySQL有优化器会自动调整A,B,C的顺序与索引顺序一致
select A, B, C, D from t_a where C=1 and B=1 and A=1;