MongoDB 3.4
学生党上周有幸参与某公司的MongoDB测试,算是一次实战吧,结合网上的内容和自己的体会总结了以下几点优化:
1. 开启profile,这个可以监控执行慢的语句,这样可以分析哪些语句执行较慢;
2. 善用mongo提供的工具,如mongostat、mongoCompass等
3. 对于执行慢的语句执行explain,更加具体的分析查询信息、查询统计、使用索引等。
4. 创建索引,但是索引不宜创建过多,我们曾尝试建立十个索引,结果插入速度从2万下降到6000,维护索引代价也不小,建议建立复合索引和稀疏索引。另外,索引本身是有限制的。集合中索引不能超过64个,索引长度不能超过128个字符,复合索引最多用31个字段。
5. 如果不是强一致可以考虑读写分离,https://docs.mongodb.com/manual/reference/read-preference/
shell下可以在配置复制集最后使用rs.slaveOK()(官方已不推荐使用)或db.getMongo().setReadPref(prefStrategy),
https://docs.mongodb.com/manual/reference/method/js-replication/
https://docs.mongodb.com/manual/reference/method/Mongo.setReadPref/#Mongo.setReadPref
6. 优化设计
7. 尽量避免全表扫描操作