对于多个索引和单个索引,多个查询条件和单个查询条件。相互之前的对于关系做一个总结
索引(a,b,c) 包含 (a,b) 和(a)
1:单个查询,单个索引
selece * from where a=‘1’;
存在 索引 (a) 索引(b,c, d)
此时使用(a)的索引
2: 多个查询,单个索引
selece * from where a=‘1’ and 'b=2' and c='3'
存在 索引 (a) 索引(b)
此时使用(a)的索引. 也就是查询条件最近的字段。【一个查询只会使用一个索引】
3: 单个查询,联合索引
selece * from where a=‘1’;
存在 索引 (a,b,c) 索引(b,c, d)
此时使用 (a,b,c) 的索引 , (a,b,c) 的索引包括了 (a)索引
4: 多个查询,联合索引
selece * from where a=‘1’ and 'b=2' and c='3'
存在 索引 (b) 索引(a,b,c)
此时使用 (a,b,c) 的索引
5:假如存在联合索引的匹配,那么查询条件的顺序不会影响使用该索引
selece * from where c='3' and a=‘1’ and 'b=2'
存在 索引(a,b,c)
此时使用 (a,b,c) 的索引
参考资料
https://www.cnblogs.com/Mr-Rocker/p/10416747.html