创建高效索引
user_id
、status
)创建升序/降序索引,支持快速查找和排序。{userId: 1, createTime: -1}
),字段顺序需匹配查询模式,遵循“最左前缀原则”。db.orders.find({userId: "U1001"}, {orderDate: 1, _id: 0})
)。优化索引使用
explain()
方法查看索引使用情况,识别未使用索引的查询并优化。硬件与配置协同
wiredTigerCacheSizeGB
参数(建议设置为服务器内存的60%-80%)优化索引缓存。定期维护索引
reIndex()
命令定期整理索引碎片,保持性能。db.collection.getIndexes()
查看索引使用频率,删除低频索引。特殊场景优化
{field: "text"}
)支持模糊查询,需注意仅支持字符串字段。2dsphere
索引,优化附近位置搜索(如$near
操作符)。参考来源: