我在Mongo DB中具有中级经验。最近,我们在Analytics(分析)上启动了一个项目,其中有一个包含一百万个文档的集合。当我在查询下面运行时,要花费30多秒钟才能得到结果。如果我删除 $ first ,则同一查询的时间不会超过3秒。
如何提高性能?
db.ETLCollection.aggregate(
[
{
"$sort":{"CreatedDate":-1}
},
{
$group: {
_id: {"FromOrgId":"$FromOrgId","ProductId":"$ProductId"},
document: { "$first": "$$CURRENT" }
}
},
{
$group: {
_id: null,
"TotalInventory": {
"$sum": "$document.inventory"
}
}
}
],{allowDiskUse:true});