本文共 1077 字,大约阅读时间需要 3 分钟。
索引是数据库中的重要组成部分,能够显著提升查询效率。在 MongoDB 中,索引基于 B 树 数据结构存储,通过将关键字段的值存储在索引中,使查询操作能够快速定位所需数据。以下是索引的核心特点:
使用以下命令可以查看集合中的所有索引:
db.collection.getIndexes()
通过以下命令可以获取索引的大小信息:
db.collection.totalIndexSize()
为 age
字段创建一个降序索引,并指定索引名称:
db.collection.createIndex({ age: -1 }, { name: "idx_age_-1" })
创建包含 _id
和 name
字段的复合索引:
db.collection.createIndex({ _id: 1, name: 1 }, { background: true })
使用以下命令删除指定索引:
db.collection.dropIndex("idx_age_-1")
删除集合中除 _id
索引外的所有索引:
db.collection.dropIndexes()
explain()
检查查询性能通过 explain()
方法可以分析查询的执行情况,包括索引使用情况和查询优化建议。
使用 age
索引查询年龄大于 18 的记录:
db.collection.find({ age: { $gt: 18 } }).explain()
当查询字段完全包含在索引中时,MongoDB 会直接从索引中获取结果,这种情况称为覆盖索引查询,查询性能显著提升。
通过合理设计和维护索引,可以显著提升 MongoDB 的查询性能,优化数据库的整体运行效率。
转载地址:http://nsffk.baihongyu.com/