【问题标题】:Why aggregate+sort is faster than find+sort in mongo?为什么聚合+排序比mongo中的查找+排序更快?
【发布时间】:2015-09-18 06:50:51
【问题描述】:

我在我的项目中使用猫鼬。当我的集合中的文档数量变大时,find+sort 的方法会变慢。所以我改用 aggregate+$sort 。我只是想知道为什么?

【问题讨论】:

  • find 将在内部进行迭代,然后 sort 因此,它需要更多的时间然后 aggregate+sort

标签: mongodb mongoose aggregation-framework


【解决方案1】:

在没有看到您的数据和查询的情况下,很难回答为什么聚合+排序比查找+排序更快。

但以下是在查找和聚合时适用的内容

  • 索引良好(适合您的查询的索引)数据总是会在您的查找查询中产生更快的结果。
  • 您在聚合查询中使用的聚合管道组件,更多的操作与更多的执行时间成正比。
  • 当您使用聚合管道时,您可以创建 sum、avg 等新字段,这在查找中是不可能的。

查看这个帖子了解更多信息

MongoDB {aggregation $match} vs {find} speed

【讨论】:

    猜你喜欢
    • 2016-02-01
    • 2021-06-19
    • 2011-11-30
    • 2018-03-28
    • 2015-06-25
    • 1970-01-01
    • 2018-05-24
    • 2011-04-02
    • 2017-03-18
    相关资源
    最近更新 更多