mongoDB简单优化示例:
1. 设计合理的数据结构,应用架构以及业务逻辑.
2. 合理使用索引
如,当需要返回的记录数比扫描的记录数少得多时,结合collection的读写场景,考虑是否使用索引。
3. 限制输出结果
当需要返回的结果集非常大时,如无必要,考虑使用limit限制输出.
4. 仅仅选择需要输出的列
返回结果应该只包含需要返回的列,而不是所有列.这样的话可以减少返回的字节数,节约带宽.
5. $inc使用
当更新的记录中存在需要增加或减少的字段时,考虑使用$inc,效率比去除记录,更新记录再插回去会高很多.
> db.test.insert({"a":1})
> db.test.update({"a" : 1},{"$inc" : {"a" : 1}})
> db.test.find()
{ "_id" : ObjectId("4d297bfff59946c5070b2504"), "a" : 2 }
> db.test.update({"a" : 2},{"$inc" : {"a" : -1}})
> db.test.find()
{ "_id" : ObjectId("4d297bfff59946c5070b2504"), "a" : 1 }
6. capped collection合理使用
读写效率都还可以,并且严格$natural.
7. 服务端代码合理使用
使用服务端代码可以减少网络消耗(类似传统数据库的函数和存储过程),提高效率.
使用profile分析:
mongoDB的profile是分析数据库热点,优化数据库的非常好用的功能
优化count()
count()和offset()都是数据库杀手,建索引是很有必要的(尽量减少scan)。
explain()和hint()
对于profile得到的执行代码,使用explain分析,必要时可以使用hint()强制索引或全表扫描.
mongodb 性能调优几点事项
最新推荐文章于 2023-06-28 03:38:19 发布