【问题标题】:Deleting MongoDB documents on non indexed field删除非索引字段上的 MongoDB 文档
【发布时间】:2018-02-02 20:35:06
【问题描述】:

我有一个 8000 万行的 mongoDB 数据库。每个文档都有 15-17 个字段。其中只有 3 个被编入索引。

我必须根据一个非索引字段删除几百万个文档。

Mongo 变得如此缓慢,以至于我什至无法获得与我的查询匹配的文档数。有什么方法可以加快删除速度(如果可能的话)?

现在创建索引可行吗?

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    创建索引就可以了,您甚至可以通过在选项中设置background:true 标志来阻止它阻塞其他数据库操作:

    db.collection.createIndex({a:1}, {background:true})
    

    https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#options-for-all-index-types

    【讨论】:

    • 索引创建成功。但即使是现在,对它的查找操作也需要很长时间
    • 对查询进行解释
    猜你喜欢
    • 2011-08-28
    • 2016-08-03
    • 2014-05-05
    • 2020-11-21
    • 2015-07-30
    • 2017-02-01
    • 2019-09-23
    • 2019-02-05
    • 1970-01-01
    相关资源
    最近更新 更多