以下是在CentOS上優化MongoDB索引的關鍵技巧:
- 分析查詢模式
使用explain("executionStats")
分析查詢計劃,確認索引使用情況,避免全表掃描。
- 創建高效索引
- 單字段索引:適用于高頻單字段查詢(如
user_id
)。
- 復合索引:多字段查詢時,將選擇性高的字段放前面,遵循“最左前綴原則”。
- 覆蓋索引:確保查詢字段全在索引中,避免回表查詢。
- 刪除冗余索引
通過getIndexes()
查看索引列表,刪除未使用或重復索引,減少維護開銷。
- 索引維護
- 定期用
reIndex()
重建索引,減少碎片。
- 監控索引使用情況,調整策略。
- 硬件與配置優化
- 使用SSD提升I/O性能,增加內存緩存索引。
- 調整WiredTiger緩存大?。?code>cacheSizeGB)以適配服務器內存。
- 分片與高級策略
大數據集場景下,使用分片分散負載,或通過哈希索引實現均勻分布。
參考來源: