0

データをグループ化する 3 つのメソッドをベンチに入れようとしました: ネイティブ js (アンダースコア付き)、グループ、および$group を使用した集計

これらのデータを使用します(パリのジャンル/位置ツリー) (237 168 行、35Mo)

これは私のスクリプト テストで、結果は少し驚くべきものです。

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

group を使用したグループ化が Aggregation よりも 10 倍遅いのはなぜですか? 「グループ」とは何に使われるのですか?また、リクエストを再度最適化するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

1

グループ コマンドは mapreduce と同じフレームワークを使用し、MR が集計フレームワークより遅い理由については多くのリソースがあります。主なものは、agg フレームワークがサーバー上でネイティブに実行される別の JS スレッドで実行されることです。

詳細については、MongoDB 集計の比較: group()、$group、および MapReduceを参照してください。

于 2013-05-20T12:26:17.490 に答える