mongodb聚合查询效率问题

qq_32225113 2015-10-22 05:35:16
服务器配置:
32G内存
CPU:8核
硬盘 raid5
dellR720
系统:centos5.12x64
mongodb版本:3.0.7(2.6试过也是一样)
以上是服务器配置和系统,最近上mongodb数据库,数据量只有500-600W,普通查询速度很正常,但是使用aggregate的group聚合查询,速度就经常在5s+,索引也加了,想请教下可以从哪方面入手排查排查?
语句:

db.getCollection('Statistics').aggregate([
{
"$match": {
"dateline": {
"$gte": 1443628800,
"$lte": 1445270400
},
"tid": {
"$gt": 0
}
}
},
{
"$group": {
"_id": "$tid",
"event1": {
"$sum": 1
}



}
},
{
"$sort": {
"tid": -1
}
},
{
"$skip": 0
},
{
"$limit": 10
}
])


索引:
> db.Statistics.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "dbname.Statistics"
},
{
"v" : 1,
"key" : {
"dateline" : 1
},
"name" : "dateline_1",
"ns" : "dbname.Statistics"
},
{
"v" : 1,
"key" : {
"tid" : 1
},
"name" : "tid_1",
"ns" : "dbname.Statistics"
},
{
"v" : 1,
"key" : {
"tid" : 1,
"dateline" : 1
},
"name" : "tid_1_dateline_1",
"ns" : "dbname.Statistics"
}
]
...全文
4163 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
my_bot 2017-08-03
  • 打赏
  • 举报
回复
索引使用有问题, { "v" : 1, "key" : { "dateline" : 1, "tid" : 1 } } 这样才对, 但是最耗时的操作还是在group 里
xiexie1020 2017-05-04
  • 打赏
  • 举报
回复
关于mongodb聚合查询效率问题,可以参考这个官方的Mongodb论坛 http://forum.foxera.com/mongodb/topic/746/%E8%AF%B7%E6%95%99%E4%B8%8Bmongodb%E8%81%9A%E5%90%88%E6%9F%A5%E8%AF%A2mapreduce%E5%92%8Caggregate%E7%9A%84%E5%8C%BA%E5%88%AB-%E6%80%A7%E8%83%BD%E4%B8%8A%E6%AF%94%E8%BE%83%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%9B%B4%E5%A5%BD?un=109
bingfengbali 2016-08-17
  • 打赏
  • 举报
回复
解决了么???
qq_32225113 2015-10-29
  • 打赏
  • 举报
回复
zipcode是? 不是太懂?
rucypli 2015-10-29
  • 打赏
  • 举报
回复
加一个db.Statistics.createIndex( { tid: 1, zipcode: -1 } ) 删掉最后一个索引
qq_32225113 2015-10-28
  • 打赏
  • 举报
回复
都没人的吗??

1,797

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧