当前位置:   article > 正文

快速查询的秘籍—B+树索引下_b+shu怎么能最快找到某一个元素

b+shu怎么能最快找到某一个元素

大家好,我是热心的大肚皮,皮哥。今天我们接着聊一聊索引,不多说,开整。

索引的分类

InnoDB索引分为聚簇索引、二级索引、联合索引。

聚簇索引

上一篇我们聊到的索引就是聚簇索引,它有以下两个特点。

  • 使用记录主键值的大小进行记录和页的排序,包含3种含义。
    1、页中的数据根据主键的大小形成单向链表,分成不同的组,每个组中主键最大记录在页内的偏移量当作槽存在页目录中,其中infimum为头,supremum为尾,通过二分法可快速查找。
    2、各个存放用户记录的页根据主键大小形成双向链表。
    3、存放目录项的页分为不同的层级,同层级也根据主键大小形成双向链表。
  • B+树的叶子节点存放了用户记录的全部内容,包括隐藏列。
    这就是聚簇索引,而且mysql会主动帮我们创建,其次所有的记录存放在叶子节点,正所谓索引即数据,数据即索引。

二级索引

如果我们想提高其他的列作为查询条件的性能怎么办呢?这时候二级索引就派上用场了,我们可以多创建几颗B+树,举个例子,我们把c2列创建索引,这类二级索引与聚簇索引有些不同,如下所示。

  • 使用记录主键值的大小进行记录和页的排序。这个特性与聚簇索引一致,只不过把主键换为c2列。
  • 目录项纪录中存放的是c2列+叶号。
  • B+树的叶子节点存放的数据不是用户记录的全部信息,而是c2列与主键。

那么是怎么查询呢?以c2=4举例。

  • 首先根据目录项查询第一条c2&
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/878656
推荐阅读
相关标签
  

闽ICP备14008679号