当前位置: 移动技术网 > IT编程>数据库>MongoDB > MongoDB中的索引简单介绍!

MongoDB中的索引简单介绍!

2020年07月30日  | 移动技术网IT编程  | 我要评论

MongoDB 索引

一、什么是索引?有什么作用?

“索引”是几乎所有数据库都有的概念。
数据库的“索引”,可以看作是书籍的“目录”!

db.<collection>.ensure({"username":1})//在username上建立索引

没有索引时,如果我们要在整个集合中查找符合条件的文档,就只能一个文档一个文档地去扫描(即“全表扫描”)。当集合非常大时,这总全表扫描的方式就会变得十分低效。
而有了索引之后,我们就不需要再使用全表扫描这种低效的方式来查询文档!而是如同翻书先查目录一样,先查索引再根据索引去查找文档!
关于索引需要注意的是:

  1. 合理地使用索引可以大大增加我们查询数据库的效率,但是使用索引是有代价的。对于索引,每次执行“写”操作时,都需要更新索引,这会耗费一定的性能。
  2. 每个集合上的索引不应该超过两个!
  3. 对于需要做频繁“写”操作的集合要谨慎使用索引!

二、哪些场景适合使用索引?

适合场景:

  1. 主要时读取操作,写操作较少。
  2. 集合较大、文档较大。集合较大、文档较大时,正确使用索引可以大幅度提升查找效率。
  3. 选择性查询。
  4. 索引基数较大。在索引基数(集合中某个字段拥有不同值的数量)较大得字段上建立索引,可以大幅提升效率。

三、索引分类有哪些?

  1. 最简单索引:最简单的索引,就是在某一个字段上建立索引。
  2. 复合索引:在多个字段上建立的索引。
  3. 索引对象、索引数组:在文档中的一个数组元素或者一个对象属性上建立的索引。
  4. 唯一索引:可以确保每个文档的指定键都有唯一值的索引。
  5. 稀疏索引:只对包含相应键起作用的唯一索引。稀疏索引不会认为两个指定键都为null的文档重复。
  6. 其他简单索引:如复合唯一索引、覆盖索引。
  7. 特殊索引:固定集合、TTL索引、全文本索引等,我会单独写一篇博文介绍。

本文地址:https://blog.csdn.net/qq_43222869/article/details/107662786

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网