MongoDB 索引

类似关系型数据库,mongodb也建立自己的一套索引机制和查询优化方法。本文简单介绍mongodb的索引。后续文章讲详细介绍索引的操作,监控和查询优化方法等。

索引

索引,是一组按照特殊结构排列的,方便检索的数据。索引中保存了集合中的一小部分数据。Mongodb,按照系统默认和用户指定的列名称建立索引。Mongodb索引使用B tree结构保存。

索引保存了一个字段或多个字段的数据。并按照指定字段的顺序排列。按照有顺序的索引排列数据。Mongodb可以快速匹配所需要查询的数据,或者匹配在某个阈值区间的数据。另外,基于索引定义的顺序,mongodb能够快速返回排序后的结果。

索引的作用

为数据集合添加索引,可以提高查询效率,限制查询中检索文档的数量,提高排序的效率。没有索引,mongodb需要查询数据集合中的每一个文档,来返回所需要的数据。

索引的副作用

在提高查询效率的同时,索引也带来了一些副作用。每一次数据的插入和更新,都会引起索引的更新。构建新的索引过程中,应用查询性能会造成严重的影响。Mongodb或限制索引构建过程中数据的读写。另外,索引会带来额外的存储开销,占用服务器的存储空间。对于大量数据写入和更新的数据库,索引的增加会降低数据写入和更新的速度。

使用场景

系统重复使用一个或多个字段查询数据库,就可以在这一个或多个字段上添加索引。

默认索引

在Mongodb中添加新的集合时,mongodb为_id字段创建索引,并添加唯一限制,保证数据插入时不会出现相同的id. 默认由_id列创建的索引,不可以删除。

索引名称

默认索引名称由索引列和索引列的顺序构成,使用下划线进行区分。

相关推荐
数字新视界2 分钟前
数据中心基础设施管理系统的智能监测与运维整合剖析
数据库·物联网·数据中心·数据中心基础设施管理·dcim管理系统
于樱花森上飞舞23 分钟前
【Redis】哨兵详解
java·开发语言·数据库·redis
李白客1 小时前
向量数据库怎么选:RAG 项目最该比较的 8 个维度(深度拆解)
数据库·aigc
cspttty1 小时前
需求预测校招入门:SQL、Excel、统计模型和业务指标怎么学
大数据·数据库
2501_933670791 小时前
面向物流数据分析校招:SQL、Excel、BI、WMS/TMS该怎么准备
数据库
Code_流苏1 小时前
AI 知识库和数据库有什么区别?从“查订单”到“问规则”讲清楚
数据库·ai·agent·知识库
YangYang9YangYan1 小时前
财务 BP 校招面试案例整理|业务场景题 + 数据案例,2027 届求职
大数据·数据库
隔窗听雨眠2 小时前
KingbaseES性能优化实战指南:从操作系统调优到SQL等价改写的完整方法论
数据库·kingbasees
NineData2 小时前
NineData 与统信服务器操作系统完成兼容认证
数据库·oracle·操作系统·软件·数据库管理工具·ninedata·统信
十二同学啊12 小时前
向量数据库:从核心原理到 RAG 与 Java 实战
数据库