MongoDB——索引

x33g5p2x  于2022-05-05 转载在 其他  
字(0.8k)|赞(0)|评价(0)|浏览(235)

一、索引介绍

  • 索引是一种用来快速查询数据的数据结构。
  • B+Tree就是一种常用的数据库索引数据结构,MongoDB采用B+Tree 做索引,索引创建在colletions上。
  • MongoDB不使用索引的查询,先扫描所有的文档,再匹配符合条件的文档。 使用索引的查询,通过索引找到文档,使用索引能够极大的提升查询效率。

二、MongoDB索引数据结构

2.1、MongoDB索引数据结构是B-Tree还是B+Tree?

  • 注意:MongoDB具体使用的是B+Tree,因为B+Tree是B-Tree的子集,所以叫B-Tree也对,但容易产生误导。

2.2、MongoDB索引数据结构

  • MongoDB索引数据结构如下图:

三、MongoDB索引的分类

  • 按照索引包含的字段数量,可以分为单键索引和组合索引(或复合索引)。
  • 按照索引字段的类型,可以分为主键索引和非主键索引。
  • 按照索引节点与物理记录的对应方式来分,可以分为聚簇索引和非聚簇索引,其中聚簇索引是指索引节点上直接包含了数据记录,而后者则仅仅包含一个指向数据记录的指针。
  • 按照索引的特性不同,又可以分为唯一索引、稀疏索引、文本索引、地理空间索引等。
  • 与大多数数据库一样,MongoDB支持各种丰富的索引类型,包括单键索引、复合索引,唯一索引等一些常用的结构。由于采用了灵活可变的文档类型,因此它也同样支持对嵌套字段、数组进行索引。通过建立合适的索引,我们可以极大地提升数据的检索速度。在一些特殊应用场景,MongoDB还支持地理空间索引、文本检索索引、TTL索引等不同的特性。

相关文章