【问题标题】:MongoDB slow query for specific collection onlyMongoDB慢查询仅针对特定集合
【发布时间】:2020-08-18 09:05:53
【问题描述】:

我有一个包含一些集合的数据库,其中一个集合有超过 1.5k 的文档,当我在该集合中查询时,我的查询只需要大约 1 秒,我很满意,但我有另一个集合只有 97文档,当我查询这个时,我花了 20 多秒才得到我的结果,这是我在两个集合中都要求的

coll.find().limit(15).skip(35).sort({uploadDate: -1})
.then(r => {
     return r;
})

1.5k 的集合大小为 (4mb) 97 个集合大小,这是我唯一遇到的问题(2.27mb)

【问题讨论】:

  • 你的日期太低了,也许有索引可能对你有更好的帮助,但对于 1.5k97 docs 查询不应该超过 300 或 500 毫秒,即使没有索引。此外,一般情况下,您需要检查此订单coll.find().limit(15).skip(35).sort({uploadDate: -1})!如果您在代码中遇到此问题,那么您可能需要检查服务器 n 数据库之间的网络连接。
  • 我的1.5k没问题,两个都用index,但是顺序有什么问题?

标签: database mongodb mongoose nosql


【解决方案1】:

您只需要查询您必须要求的选定(有限)字段才能快速查询。您还需要检查索引,如果不需要,请避免。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    • 2017-08-04
    • 2019-06-05
    • 1970-01-01
    相关资源
    最近更新 更多