美文网首页
Mysql为什么使用B+树

Mysql为什么使用B+树

作者: 垂直居中的句号 | 来源:发表于2022-12-14 20:00 被阅读0次
    1. B+树的非叶子节点存储的都是主键,不存储数据,所以每一层存储的索引数量会增加,所以在层高相同的情况下,储存的数据量比B树多,查找的时候磁盘的io次数更少。

    对于数据库来说,所有的数据都是存储在磁盘上的,而磁盘io的效率是很低的,特别是在随机磁盘io的一个情况下效率更低,那么树的高度就能够决定磁盘io的一个次数,磁盘io次数越少对性能的提升就越大。

    B+树叶节点两两相连可大大增加区间访问性,可使用在范围查询等,而B-树每个节点 key 和 data 在一起,则无法区间查找。

    2.范围查找的时候,B+树因为叶子节点是采用双向链表相互连通的,所以只遍历两个节点就可以,而B树因为key和data在一起的,在范围查找时需要遍历所以节点

    3.由于所有数据都存储在叶子节点上,所以b+树的磁盘io速度会更加稳定一些。

    4.全局扫描能力上,因为B+树是把所有的数据都存在了叶子节点上,只需要扫描叶子节点,而B树可能需要遍历整颗树。

    相关文章

      网友评论

          本文标题:Mysql为什么使用B+树

          本文链接:https://www.haomeiwen.com/subject/gtelqdtx.html