以下是在CentOS上优化MongoDB索引的关键技巧:
- 分析查询模式
使用explain("executionStats")
分析查询计划,确认索引使用情况,避免全表扫描。
- 创建高效索引
- 单字段索引:适用于高频单字段查询(如
user_id
)。
- 复合索引:多字段查询时,将选择性高的字段放前面,遵循“最左前缀原则”。
- 覆盖索引:确保查询字段全在索引中,避免回表查询。
- 删除冗余索引
通过getIndexes()
查看索引列表,删除未使用或重复索引,减少维护开销。
- 索引维护
- 定期用
reIndex()
重建索引,减少碎片。
- 监控索引使用情况,调整策略。
- 硬件与配置优化
- 使用SSD提升I/O性能,增加内存缓存索引。
- 调整WiredTiger缓存大小(
cacheSizeGB
)以适配服务器内存。
- 分片与高级策略
大数据集场景下,使用分片分散负载,或通过哈希索引实现均匀分布。
参考来源: