MySQL-索引前-InnoDB索引

MySQL 索引是帮助作用

MySQL 索引是帮助MySQL 高效获取数据的数据结构
了解索引的前提就是需知道数据结构中的一些知识

  1. 二叉树
  2. 红黑树
  3. Hash 表
  4. B-Tree
  5. B+ - Tree
  6. InnoDB索引(聚集)

主要是InnoDB索引(聚集) ,其他的请参考
二叉树: 二叉树点击查看大佬文章
红黑树:红黑树点击查看大佬文章
Hash表:Hash表点击查看大佬文章
B-Tree :B-Tree点击查看大佬文章
B+ - Tree :B+ - Tree点击查看大佬文章

InnoDB索引(聚集)

在这里插入图片描述

在这里插入图片描述

表数据文件本身就是按B+Tree组织的一个索引结构文件
聚集索引-叶节点包含了完整的数据记录
为什么建议InnoDB表必须建主键,并且推荐使用整型的自增主键?
1.InnoDB存储引擎的数据结构必须需要一个主键才可以组织起来,如果用户使用InnoDB存储引擎建立表的时候,没有指定主键,则Mysql会自动的帮你找到一个合适的唯一索引作为主键,若找不到符合条件唯一索引条件的字段时,会生成类似于ROW_ID的虚拟列充当该InnoDB表的主键

(可以叶子链表快速查找数据)因为我们B+Tree结构每个节点从左到右是依次递增的。意味着我们存放该索引值时要比较大小,整型数据易于比较,如果是字符串“ABCD”一类的,要逐个字母去从头比较到尾。而且整型占内存小(2个字节)。另外,如果该字段已经告诉计算机为“自增”就不必再比较排序大小了
InnoDB索引是改良版本的B+Tree 他的每一样可以放大概 16kb 的数据,默认设置只有 3 行,从小到大排序,只有最后一行数据上才带有数据信息,其他两行只有索引信息,这样可以方便快速定位数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值