分析查询模式
使用explain("executionStats")分析查询计划,确认索引使用情况,避免全表扫描。
创建高效索引
db.collection.createIndex({field: 1})。db.collection.createIndex({field1: 1, field2: -1})。优化索引管理
db.collection.getIndexes()查看索引,删除冗余或不再使用的索引。reIndex()定期重建索引,消除碎片。硬件与配置优化
storage.wiredTiger.engineConfig.cacheSizeGB(建议设置为可用内存的50%~70%)。查询优化
select)限制返回字段,减少数据传输。分片与集群策略(适用于大规模数据)
选择高基数字段作为分片键,启用分片以分散负载,配合副本集实现读写分离。
监控与调优
mongostat、mongotop或第三方工具(如PMM)监控索引使用率和查询性能。参考来源:[1,2,3,4,5,6,7,8,9,10,11]