您当前的位置: 首页 >  mongodb

小志的博客

暂无认证

  • 1浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MongoDB——索引

小志的博客 发布时间:2022-05-02 15:54:54 ,浏览量:1

目录
    • 一、索引介绍
    • 二、MongoDB索引数据结构
      • 2.1、MongoDB索引数据结构是B-Tree还是B+Tree?
      • 2.2、MongoDB索引数据结构
    • 三、MongoDB索引的分类

一、索引介绍
  • 索引是一种用来快速查询数据的数据结构。
  • B+Tree就是一种常用的数据库索引数据结构,MongoDB采用B+Tree 做索引,索引创建在colletions上。
  • MongoDB不使用索引的查询,先扫描所有的文档,再匹配符合条件的文档。 使用索引的查询,通过索引找到文档,使用索引能够极大的提升查询效率。
二、MongoDB索引数据结构 2.1、MongoDB索引数据结构是B-Tree还是B+Tree?
  • B-Tree说法来源于官方文档,然后就导致了分歧:有人说MongoDB索引数据结构使用的是B-Tree,有的人又说是B+Tree。

  • MongoDB官方文档:https://www.mongodb.com/docs/manual/indexes/ 在这里插入图片描述

  • WiredTiger官方文档:https://source.wiredtiger.com/3.0.0/tune_page_size_and_comp.html 在这里插入图片描述

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

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

微信扫码登录

0.0392s