MySQL知识总结

MySQL

为什么用B+树做索引

其他数据结构不适合做索引的原因:

  1. 二叉树不适合做索引的原因:某些特殊情况下会退化成链表
  2. 红黑树不适合做索引的原因:层高过高,I/O次数太多,效率低
  3. b树不适合做索引的原因: 每个节点都存储了索引和数据段,内存消耗过大,b树没有双向指针
  4. hash不适合做索引的原因:1、hash碰撞;2、不支持范围查询(最致命)

B+树作为索引的优点和特点:
优点:所有的数据都在叶子节点,非叶子节点只存储了索引
特点如下:

  1. 每一个节点分配了一个空间,存储索引页(磁盘页),大小为16K
  2. 根据要查找的值/范围进行节点选择加载
  3. 叶节点的磁盘空间地址

B-Tree和B+Tree对比

B-Tree和B+Tree区别:
1、B-Tree叶子节点之间没有双向指针,而B+Tree叶子节点之间有双向指针,该指针主要用于范围查找,否则得回到根节点从头遍历
2、B-Tree每个节点都存有索引和数据,而B+Tree把数据都放到了叶子节点,非叶子节点存储的是冗余索引,冗余索引是为了减少树的层高

存储引擎

存储引擎是修饰数据库表的,而不是修饰数据库

索引方式

  1. 单值索引
  2. 联合索引

索引匹配原则

  1. 最左前缀原则
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值