相似索引的Mongo索引策略

时间:2020-03-10 14:57:02

标签: mongodb

我有以下架构:

{
  A: String,
  B: String,
  C: String,
  D: String,
}

如果我有一个包含A,B,C和A,B,D的where过滤器,我应该:

索引(A,B,C)和(A,B,D)

OR

索引(A,B),分别是(C)和(D)?

OR

索引(A,B,C,D)?

1 个答案:

答案 0 :(得分:2)

索引(A,B,C)和(A,B,D)


索引(A,B)以及分别的(C)和(D)要求索引交集,该交集必须满足许多条件,以至于在野外几乎不会发生。

索引(A,B,C,D)可以完美地用于(A,B,C)查询,仅与(A,B,D)查询的索引(A,B)一样好。

https://docs.mongodb.com/manual/core/index-compound/#prefixes

中有很好的记录