簡體   English   中英

MongoDB中的組聚合性能

[英]Group Aggregation performance in MongoDB

我的API捕獲了大量數據,如下所示:

{
    "_id" : ObjectId("57446a89e5b49e297031fab8"),                   
    "applicationVersion" : "X.X.XXX.X",                 
    "createdDate" : ISODate("2016-05-16T23:00:00.007Z"),
    "identifier" : "v2/events/messages",
    "durationInMilliseconds" : NumberLong(14)
}

我想將整個集合按標識符分組。 所以我使用聚合框架

$group : {
    _id : {
        identifier : "$identifier"
    },
    count : {
        $sum : 1
    }
}

我有一個關於標識符的索引。

這是一個簡單的計數,我可能想計算平均api響應時間以及類似的信息,但是速度卻讓我望而卻步。

在700萬份文檔上,聚合大約需要10秒鍾。 如果我在MSSQL上的SQL中進行等效分組,則花費的時間不到一秒鍾。

有沒有一種方法可以優化這種類型的聚合,或者我需要以不同的方式考慮一下,例如

  • 改變我收集數據的方式
  • 使用其他工具?

MongoDB在聚合框架中不使用索引,除非$ match$ sort如果用作聚合框架的第一階段。 這是局限性,我們希望將來能有所改善。

請參閱MongoDB中的管道運算符和索引

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM