mongodb查询条件与使用索引的关系

对于多个索引和单个索引,多个查询条件和单个查询条件。相互之前的对于关系做一个总结

索引(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

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页