【问题标题】:Tuning mongoDB lookup调整 mongoDB 查找
【发布时间】:2017-10-09 06:32:03
【问题描述】:

我有一个聚合,在第一阶段使用 $lookup 加入拖车集合和 然后使用 $skip 和 $limit。但是它太慢了。 如果我在聚合管道中将 $lookup 放在 $skip 和 $limit 之后, 它对我的聚合查询的性能有影响吗?

【问题讨论】:

  • 你试过了吗?
  • 请告诉我们你的真实情况
  • 我已经尝试过了,但目前我的有效数据很少。差异是无形的。

标签: mongodb performance lookup


【解决方案1】:

您的查询性能缓慢很可能是因为skip。聚合$skip 在其页面上没有相关信息,但我分享的链接显示skip 存在性能问题。很可能聚合跳过也有。

对于您的问题,您应该在对任何数据库进行任何查找/加入之前尽可能多地进行过滤。所以不必要的文件/数据不会进入内存。但就像我说的那样,它很可能不会让您的查询变得这么快。

【讨论】:

  • $lookup 是否需要遍历所有要加入的文档?
  • @Masoudjf,据我所知,如果查找字段被索引,它可以使用索引。但是查找文档的其他未索引字段必须通过扫描获取。这里真正的问题是;如果您将在下一阶段过滤一些连接的文档,请先过滤它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-24
  • 1970-01-01
  • 2021-07-19
  • 2016-08-13
  • 1970-01-01
相关资源
最近更新 更多