【发布时间】:2021-07-06 19:21:50
【问题描述】:
小组赛阶段需要 5 分钟才能执行,我的收藏中有 100000000 条记录。 我正在使用 mongodb 4.2,我有 8 个 cpu 和 32gb RAM。 有没有更好的方法来优化查询或索引?
db.getCollection("text").explain("executionStats").aggregate(
[
{
"$match" : {
"CreatedDate" : {
"$gte" : ISODate("2021-01-01T15:43:50.325+0000"),
"$lte" : ISODate("2021-03-29T15:43:50.325+0000")
}
}
},
{
"$project" : {
"TX_DATE" : {
"$dateToString" : {
"format" : "%Y-%m",
"date" : "$CreatedDate"
}
},
"Exp_Count" : 1.0
}
},
{
"$group" : {
"_id" : {
"TX_DATE_Month" : "$TX_DATE"
},
"Exp_Count" : {
"$sum" : "$Exp_Count"
}
}
},
{
"$project" : {
"_id" : 0.0,
"TX_DATE" : "$_id.TX_DATE_Month",
"Exp_Count" : 1.0
}
},
{
"$sort" : {
"TX_DATE" : 1.0
}
}
],
{
"allowDiskUse" : false
}
);
【问题讨论】:
-
信息不够,贴索引信息,
explain结果。
标签: mongodb mongodb-query aggregation-framework