MongoDB 索引

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

索引

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

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

索引的作用

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

索引的副作用

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

使用场景

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

默认索引

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

索引名称

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

相关推荐
qianshang2332 小时前
SQL注入学习总结
网络·数据库·渗透
what丶k3 小时前
深入解析Redis数据持久化:RBD机制原理、实操与生产最佳实践
数据库·redis·缓存
瀚高PG实验室4 小时前
通过数据库日志获取数据库中的慢SQL
数据库·sql·瀚高数据库
Hgfdsaqwr4 小时前
Python在2024年的主要趋势与发展方向
jvm·数据库·python
invicinble4 小时前
对于Mysql深入理解
数据库·mysql
阳光九叶草LXGZXJ4 小时前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
Hgfdsaqwr5 小时前
掌握Python魔法方法(Magic Methods)
jvm·数据库·python
s1hiyu5 小时前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python
2301_763472465 小时前
使用Seaborn绘制统计图形:更美更简单
jvm·数据库·python
熊文豪5 小时前
金仓数据库如何以“多模融合“重塑文档数据库新范式
数据库·金仓数据库·电科金仓·mongodb迁移