我有一个这样的查询,它在 90% 的时间里被调用:
db.xyz.find({“ws.wz.eId”:665,“ws.ce1.id”:665)
另一个像这样的被调用的次数为 10%:
db.xyz.find({“ws.wz.eId”:111,“ws.ce2.id”:111)
您可以看到两个查询中两个集合的 id 相同。现在我想知道是否应该只为“ws.wz.eId”创建一个索引,或者是否应该创建两个复合索引:一个用于 {"ws.wz.eId", "ws.ce.id"}另一个是 {"ws.wz.eId", "ws.ce2.id"}
在我看来,单一索引是最好的选择;但是我可能错了;所以我想知道创建复合索引或任何其他类型是否有价值。