【问题标题】:MongoDB Query Not Using Expected IndexMongoDB 查询未使用预期索引
【发布时间】:2021-02-18 16:20:39
【问题描述】:

我有一个问题 {discontinued:0, status:1, visibility:4, "out_of_stock_backend_item.id":{$ne:12524}}

我希望它使用索引

discontinued:-1
status:1
visibility:1
out_of_stock_backend_item.id:1

但不知何故,上述指标出现在被拒绝的计划中,而获胜计划中的指标是

discontinued:-1
status:1
visibility:1
entity_id:1

如何让它使用正确的索引?

【问题讨论】:

    标签: mongodb query-optimization


    【解决方案1】:

    您可以使用hint 方法,如文档所述:

    "hint" 强制 MongoDB 在执行查询时使用。指定 通过索引名称或索引规范文档进行索引。

    db.collection.find().hint( { field: 1 } );
    

    OR 使用索引名称

    db.collection.find().hint( "index_name" )
    

    【讨论】:

      猜你喜欢
      • 2022-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-29
      • 2015-05-19
      相关资源
      最近更新 更多