例如,我有以下文件:
{
account: ...,
site: ...,
property1: ...,
property2: ...
}
我在account, site
上有一个索引,在property1, property2
上有一个通配符。
在查询{account: 1234, $or: [{property1: 345}, {property2: 345}]}
时,MongoDB可以利用索引与通配符索引的交集来优化查询吗?
答案 0 :(得分:1)
从理论上讲,是的-通配符索引的行为应与稀疏单键索引相同(这可能允许索引相交)。
实际上,我猜不会-使用索引交集只会在极少数情况下加快查询速度(Why doesn't MongoDB use index intersection?有一些详细信息)。始终值得检查$ explain输出,以查看其正在考虑的查询计划以及其实际功能。