MongoDB 优化指南
MongoDB 性能优化涉及多个方面,包括查询优化、索引设计、架构配置等。以下是一些关键的优化策略:
1. 索引优化
创建合适的索引
-
单字段索引:
db.collection.createIndex({ field: 1 })
-
复合索引:
db.collection.createIndex({ field1: 1, field2: -1 })
-
多键索引:用于数组字段
-
文本索引:
db.collection.createIndex({ content: "text" })
-
哈希索引:
db.collection.createIndex({ field: "hashed" })
索引设计原则
-
ESR原则:Equality(等值查询) → Sort(排序) → Range(范围查询)的顺序创建复合索引
-
为常用查询创建索引
-
避免过度索引(每个索引会增加写入开销)
-
使用覆盖索引(查询只需从索引中获取数据)
2. 查询优化
高效查询实践
-
使用投影只返回需要的字段:
db.collection.find({}, { field1: 1, field2: 1 })
-
限制返回结果数量:
db.collection.find().limit(100)<