- 索引统一管理, 提高索引效率, 不乱建索引, 数据库死锁大多发生在更新索引上。
- 查询条件无顺序区别, 索引建立有顺序区别。 索引字段只能从前往后搜索, 不要指望{a,b,c}索引能覆盖b或bc, 必须有a才行, 因为a是入口!但是ab,ac都能覆盖。 find(c).sort(a)也能覆盖。 mongo一次查询只能命中单个索引。
- Create Queries that Ensure Selectivity, 官方文档原话, 什么叫selectivity? unique最selectivity, 只有一个或两个值的字段最inselectivity。建inselectivity的索引只会导致数据库性能下降, 毫无益处
- 延时数据与实时数据拆分, 写操作异常频繁的一定要做成延时数据, 否则会导致你所有实时数据都延时! 延时数据读写分离, Replica Sets就是拿来干这事的。
- 上亿数据写锁高, 必然是索引不合理, 合理索引2.4或更高版本能搞定10亿数据。
- 不要在长字段上建索引, 会吃光你的内存, 即使要建, 也做个映射字段, 比如拿长字段头5个字符
高性能MONGODB(2.4)优化心得,亿级别高速读写必备。
最新推荐文章于 2024-08-29 09:00:00 发布
本文分享了MongoDB 2.4版本的优化心得,包括索引管理、查询优化、数据延迟处理、内存与分片策略。强调合理创建索引,避免不必要的性能损耗,并提醒注意正则表达式与全文搜索的索引使用,以及主从数据一致性问题。
摘要由CSDN通过智能技术生成