侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

B-Tree和B+Tree索引

2024-02-21 星期三 / 0 评论 / 0 点赞 / 32 阅读 / 1812 字

B树是一种多路平衡查找树,它的每个节点最多包含K个子节点,K成为树的阶,k的大小取决于磁盘页的大小。相对于二叉树查找树的优势,二叉树查找数据时候,最多要进行n(树的高度)次查找,最坏情况下磁盘IO树等

      B树是一种多路平衡查找树,它的每个节点最多包含K个子节点,K成为树的阶,k的大小取决于磁盘页的大小。相对于二叉树查找树的优势,二叉树查找数据时候,最多要进行n(树的高度)次查找,最坏情况下磁盘IO树等于树的高度。IO次数少才能提高查找性能。

B-Tree是为磁盘等外存储设备设计的一种平衡查找树。

       先了解磁盘的相关知识:

1.系统从磁盘读取数据到内存时是以磁盘块为基本单位的,位于同一磁盘块中的数据会被一次性的读取出来,而不是需要什么读取什么。

2.InnerDB存储引擎中是有页(Page)的概念,页是其管理的最小单位。默认每页的大小为16KB,可以设置。InnerDB在把磁盘数据读入内存的时候,会以页为基本单位。B-Tree的结构可以让系统高效的找到数据所在的磁盘块。

B+树是B-Tree的变种,有着比B-Tree更改的查询性能。

1个m阶的B+树具有如下特点:

1.有k个子树的中间节点包含k个元素,每个元素不保存数据,只用来索引,所有数据保存在叶子节点上。

2.所有的叶子节点包含了全部元素的信息,及只想包含这些元素记录的指针,且叶子节点本身依关键字的大小自小而大顺序连接。

3.所有的中间节点元素都同时存在于子节点,在子元素节点中是最大(或最小)元素。

优势:

1.单一节点存储更多元素,是的查询的IO次数减少。

2.所有查询都要到叶子节点,查询性能稳定。

3.所有叶子节点都形成有序链表,便于范围查询。

 

广告 广告

评论区