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倍。
相关文章推荐
- Mongodb第八天 JavaAPi
- MongoDB学习笔记(索引)
- MongoDB学习笔记(查询)
- mongodb基础系列——java操作mongodb实现CURD
- MongoDB 性能优化五个简单步骤
- MongoDB shell操作
- Mongodb在windows下的安装和启动
- 通过Nginx+mongodb-gridfs+squid实现简单的图片存储及图片缓存示例
- mongoDB--GridFS简介
- 从百万级别数据的分析角度,Mysql,Mongodb,Hbase如何选择?
- HBase 和 MongoDB在设计上的区别
- mongodb主从,副本集,分片的理解
- mongodb分片
- MongoDB——主从复制&副本集
- mongoDB之用户及权限设置
- mongoDB--GridFS简介
- Mongodb固定集合
- mongodb与log4j结合记录日志
- mongodb3.03以上开启认证,解决程序认证连接报错以及第三方客户端无法认证问题
- MongoDB@入门一