学会MongoDB索引:让你的查询速度提升10倍
MongoDB索引用于提升查询性能,解决无索引时“全表扫描”(时间复杂度O(n))的低效问题,有索引后复杂度降为O(log n),如同图书馆目录定位书籍。索引是存储字段值与文档位置映射的特殊数据结构(基于B树/B+树)。 基本类型:单字段索引(最常用,如`db.users.createIndex({age:1})`);复合索引(多字段,如`{age:1, gender:1}`,需遵循“最左前缀原则”);还有多键、地理空间、文本索引等进阶类型。 创建用`createIndex()`,验证用`explain()`查看执行计划。建议在频繁查询、排序或复合查询字段建索引,数据量小、写入极频繁、低基数或重复率高字段则不宜建。注意避免过度索引、重复索引,用`explain`验证是否生效,防止字段类型不匹配导致索引失效。
阅读全文