pandaer
后端开发
·2025-08-30
MySQL进阶(二) 今天我们的议题是:为什么数据库选择B+树,而非B树和平衡二叉树呢? 在上一期的最后,我给出了答案:为了减少访问磁盘IO的次数。但是具体为什么,就由我们这期来解答。首先我们得知道B+树,和B树都是平衡多叉树,和平衡二叉树的区别就在于多了几个分支。这样的好处就是在同等数据规模下,B+树和B树的树高要比平衡二叉树低的多。又因为磁盘数据的读取是以块为单位,所以数据库通常会保证一个树节点对应磁盘中的一个数据块,所以每访问下一层的树节点的时候,就会额外发起一次磁盘IO,而磁盘IO的时间开销又很大,所以我们需要尽可能的保证即便数据规模很大,树的层级也不能太高。这也是为什么我们选择放弃平衡二叉树,选择平衡多叉树的原因。 --- 因为后续有图,所以建议直接看飞书文档:https://xag3mqrh4i.feishu.cn/wiki/Dk8UwTm93i8zKBk7sHZcftwdnbb?from=from_copylink
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP