我正在使用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"}
}
}
]