红黑树,B树,B+树

红黑树,自平衡的二叉查找树

在这里插入图片描述

  1. 每个节点是黑色or红色
  2. 根节点是黑色
  3. 每个叶子节点是黑色
  4. 每个红色节点的两个子节点一定是黑色
  5. 任意一节点到每个叶子节点的路径都包含数量相同的黑节点

在这里插入图片描述

红黑树不适合做MySQL的存储数据结构,树的深度和节点很大,涉及的io操作比较消耗性能

B树

  1. m叉树,度数越高,越扁
  2. 在四叉树中,每个节点至多有四个子节点,至多有3个关键字
  3. 根节点中1记录了有一个关键字,36是主键,data是对应的记录,36左边的空格记录了小于36的指针
  4. 叶子节点没有地址记录的就放null
  5. B树适合做索引吗?
    1. 假设有60000条数据,7阶的B树,每个节点最多存6个数据,所以至少需要10000节点
    2. 数据量不大的情况下,度设置的大一点,似乎也还行
    3. innoDB每个节点的存储限制为16KB(os中page一般是4kb/8kb)
    4. 如果非叶子节点不存data,只存索引,整个节点就能存储很多索引

在这里插入图片描述

度数为3的情况下,最多有三个子节点,下图这种情况下可以是四个子节点,所以需要裂变

在这里插入图片描述

B+树

只存key值在非叶子节点,叶子节点存数据,叶子节点之间是有序相连的

innoDB每个节点的存储限制为16KB,所以叶子节点假设一条数据1kb,一个叶子节点就能存储16条数据

减少了树的深度,减少了IO次数
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值