MongoDB聚合组优化

时间:2016-07-25 10:11:23

标签: mongodb mongodb-query

我正在使用MongoDB 3.2.1而我正在尝试优化我的查询。这很简单,我按COMMAND分组并获取first object(所有字段)。现在需要大约6秒钟。

[
  { "$sort": { "c": 1} },
  { "$group":
    {
      "_id": "$c",
      "c" : { "$first": "$c"},
      "i" : { "$first": "$i"},
      "t" : { "$first": "$t"},
      "v" : { "$first": "$v"}
    }
  }
]

我添加了索引:

c:-1
t:-1
c:-1,t:-1

您对如何优化它有什么想法吗?我注意到如果我不返回v param(我有数据字段),那么时间大概是2.5秒

DB从1957461返回33个文件。其中一个命令的条目最多c:188 = 1709151

更新

我删除了sort,现在速度更快,需要4.5秒,没有v param 2s

[
  { "$group":
    {
      "_id": "$c",
      "c" : { "$first": "$c"},
      "i" : { "$first": "$i"},
      "t" : { "$first": "$t"},
      "v" : { "$first": "$v"}
    }
  }
]

当我只获得i参数时,需要大约1.5秒

[
  { "$group":
    {
      "_id": "$c",
      "i" : { "$first": "$i"}
    }
  }
]

0 个答案:

没有答案