mongo性能优化问题
-
大家帮忙看看这个语句该如何优化,聚合的性能太差了。以下是数据结构以及SQL
db.getCollection().aggregate
(
[
{
"$match": {
$and: [
{"currStatus": 1},
{"issStaPar" : 1},
{ "quarters" : { "$elemMatch" : { "quarter" : "2016/Q3" }}} ,
{ "dmBondType" : { "$in" : [ 7 , 8 , 9 , 11 , 12 , 13]}}
]
}
},
{
"$match": {
$and: [
{ "quarters" : { "$elemMatch" : { "quarter" : "2016/Q3" , "Oprt_prft" : { "$gte" : -1805182.18 , "$lte" : 3465756.06035}}}} ,
{ "quarters" : { "$elemMatch" : { "quarter" : "2016/Q3" , "Tot_Asst" : { "$gte" : -318782.93 , "$lte" : 4.421417501452E8}}}}
]
}
},
{
$project: {
"quarters.quarter":1, "quarters.Tot_Asst":1
}
},
{ "$unwind": "$quarters" }
, {
"$match" : { "quarters.quarter" : "2016/Q3" , "quarters.Tot_Asst" : {"$gte" : -318782.93 , "$lte" : 4.421417501452E8}}
}
,{
$group: {
_id: null,
min: { $min:"$quarters.Tot_Asst"},
max: { $max: "$quarters.Tot_Asst"},
count: { $sum: 1 }
}
}
]
)