car*_*t91 3 algorithm join mongodb aggregation-framework
我正在评估涉及一些 MongoDB 聚合查询的算法的计算成本,所以我试图找出我使用的各种运算符的成本,然后整个查询的成本将只是所有这些的总和因为它们是级联应用的。
我想说 $project、$match 和 $unwind 的成本是 O(n),n 是集合中的文档数,因为我没有任何索引,所以我需要扫描所有文档。
现在我的问题是:新的 $lookup 运算符的成本如何?它对两个集合执行左连接,所以我首先猜测它有点计算两个集合的笛卡尔积,因此成本应该类似于 O(n * m),其中 m 是第二个集合的大小。我对吗?MongoDB 做一些更有效的事情吗?你有关于这个主题的任何参考吗?