MongoDB可以将通配符索引用于交集吗?

时间:2019-09-06 11:57:28

标签: mongodb

例如,我有以下文件:

{
   account: ...,
   site: ...,
   property1: ...,
   property2: ...
}

我在account, site上有一个索引,在property1, property2上有一个通配符。

在查询{account: 1234, $or: [{property1: 345}, {property2: 345}]}时,MongoDB可以利用索引与通配符索引的交集来优化查询吗?

1 个答案:

答案 0 :(得分:1)

从理论上讲,是的-通配符索引的行为应与稀疏单键索引相同(这可能允许索引相交)。

实际上,我猜不会-使用索引交集只会在极少数情况下加快查询速度(Why doesn't MongoDB use index intersection?有一些详细信息)。始终值得检查$ explain输出,以查看其正在考虑的查询计划以及其实际功能。