MySQL中B树与B+树的区别

文章目录

  • 一、B树
  • 二、B+树
  • 三、B树与B+树的区别


一、B树

B树和B+树都是应用在数据库索引上,可以认为是m叉的多路平衡查找树,但是理论上讲,二叉树的查找速度和比较次数都更小,为什么不用二叉树呢?

这是因为我们要考虑磁盘IO的影响,它相对于内存来说是很慢的,数据库索引是存储在磁盘上的,当数据量很大时,就不能把整个索引全部加载到内存中,只能逐一加载每一个磁盘页(对应索引树的节点)。所以我们要减少IO的次数,对于树来说,IO次数就是树的高度,而“矮胖”就是B树的特征之一。

B树的特征:

  • 关键字集合分布在整颗树中;
  • 任何一个关键字出现且只出现在一个结点中;
  • 搜索有可能在非叶子结点结束;
  • 其搜索性能等价于在关键字全集内做一次二分查找;
    MySQL中B树与B+树的区别_第1张图片

二、B+树

B+树是B树的变体,是一种查询性能更好的B树。B+树是一种平衡查找树。在B+树中,所有记录节点都是按键值的大小顺序存放在同一层的叶节点中,各叶结点指针进行连接。

B+树的特征࿱

你可能感兴趣的:(MySQL,b树,mysql,数据结构)