消息关闭
    暂无新消息!

mongodb聚合查询效率问题

问题作者 : 乖乖仔2017-06-08发布
服务器配置:
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"
        }
]

5个回答

︿ 1
加一个db.Statistics.createIndex( { tid: 1, zipcode: -1 } )
删掉最后一个索引
︿ 0
关于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