二叉树,

  • 读写要求高就用InnoDB, 因为支持事务
  • hash索引
    >> 哈希 查找/插入/修改/删除的平均时间复杂度都是O(1),当有范围/排序等操作时复杂度成为O(n)。

  • >> 树,查找/插入/修改/删除的平均时间复杂度都是O(log2(n)),当有范围/排序等操作时复杂度仍然是O(log2(n))  如:log2(8)=3
  • 备注:InnoDB并不支持哈希索引

树(树的高度决定查询次数,所以树越低越胖最好。

  • 树 右边的树都大于左边,跟哈希一样了。
  • 平衡二叉树 使用:cs.usfca.edu可以玩, 左边右小,每添加一个数,数一直在变,保持平衡。
  • B树 比平衡二叉树少查找一次,原理:在平衡二叉树基础上进行平衡压缩
  • B+树
    • 样式
    • 红色的为叶子节点,用来存储数据。
      非红色的为非叶子节点,由根和枝组成。
      叶子之间,增加了链表,获取所有节点,不再需要中序遍历。(中序遍历:B树结构,多key和值在一起,需要遍历对应)
  • 面试回答B树结构和B+树区别
    • B树结构图中可以看到每个节点中不仅包含数据的key值,还有data值。而每一页的存储空间是有限的,如果data数据较大时将会导致每个节点能存储的key的数量很小,当存储的数据量很大时同样会导致B树的深度较大,增大查询时的磁盘I/O次数进而影响查询效率。
    • 但在B+树种,所有数据记录节点都是按照键值大小顺序存放在同一层的叶子节点上,而非叶子节点上只存储key值信息,这样可以大大加大,每个节点存储的key数量,降低B+树的高度。
    • B+树实在B树基础上的一种优化使其更适合实现外存储索引结构,InnoDB存储引擎就是用B+树实现其索引结构。也就是为什么写的快。
    •  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值