0

我尝试使用 3 种方法对数据进行分组:原生 js(带下划线)、分组使用 $group 聚合

我使用这些数据(巴黎的流派/位置树)(237 168 行,35Mo)

这是我的脚本测试,结果有点令人惊讶!

┌─────────────┬───────────────┐
│ Method      │ avg time (ms) │
├─────────────┼───────────────┤
│ Pure js     │ 897           │
├─────────────┼───────────────┤
│ Group       │ 3863          │
├─────────────┼───────────────┤
│ Aggregation │ 364           │
└─────────────┴───────────────┘

为什么 grouping with group比 Aggregation 慢 10 倍?用于什么“组”?我怎样才能再次优化我的请求?

谢谢。

4

1 回答 1

1

Group 命令使用与 mapreduce 相同的框架,并且有很多资源可以解释为什么 MR 比聚合框架慢。主要的一个是它运行在一个单独的 JS 线程中,其中 agg 框架在服务器上本地运行。

在此处查看详细信息MongoDB 聚合比较:group()、$group 和 MapReduce

于 2013-05-20T12:26:17.490 回答