您的位置:首页 > 数据库 > Mongodb

MongoDB简单查询与复杂查询性能对比

2016-03-10 17:09 711 查看

MongoDB服务器信息

mongodb版本:3.2.1

服务器操作系统Linux 2.6.32-358.el6.x86_64

CPU 双核 Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

索引信息

[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "larvel.Feeds"
},
{
"v" : 1,
"key" : {
"user_id" : 1
},
"name" : "user_id_1",
"ns" : "larvel.Feeds"
},
{
"v" : 1,
"key" : {
"user_id" : 1,
"to_userids" : 1
},
"name" : "user_id_1_to_userids_1",
"ns" : "larvel.Feeds"
}
]


简单查询命令

其中_id为主键,长整型变量,自增。

> db.collection.find({_id:{$in: [8241206,8238108,7881724]}}).sort({_id:-1})


复杂查询命令

该查询返回3条数据,将这三条数据的_id作为简单查询命令$in的输入参数

> db.collection.find({$or:[{to_userids:{$all:[7512854]}, user_id:{$in:[5000000,5349617,6791279,7318333,7322185,7512854]}, privacy:1,shield:{$ne:1}},{user_id:{$in:[5000000,5349617,6791279,7318333,7322185,7512854]},privacy:0,shield:{$ne:1}}, {shield:1,user_id:7512854}]}).sort({_id:-1}).limit(20)


性能对比

两条命令各执行5次,对比平均时间消耗,单位ms

简单:0.73

复杂:27.26

简单查询的性能比复杂查询提高了约36倍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: