复合索引是否支持索引字段前缀上的匹配项



考虑我有以下集合结构

"mycoll":{
    "a":"",
    "b":"",
    "c":"",
    "d":"",
    "e":""
}

我有这样的索引

{
    "a":1,
    "b":1,
    "c":1,
    "e":1
}

我的查询就像(它在查询中有字段"d",不在索引中(

db.mycoll.find({"a":"?","b":"?","c":"?","d":"?"});

请让我知道我的索引是否支持上述查询?

是的,复合索引支持与索引字段。

除了支持在所有索引字段上匹配的查询外, 复合索引可以支持与 索引字段。

化合物索引

我已经用 explain(( 检查了您的查询,获胜计划确实使用了索引扫描。

db.mycoll.find({"a":"?","b":"?","c":"?","d":"?"});

"舞台" : "IXSCAN">

最新更新