mysql的索引

mysql的索引

mysql索引的数据结构

  1. B+Tree结构
    image
  • 最上层:根节点
  • 中间层:非叶子节点
  • 最下层:叶子节点
  1. B+Tree结构索引原理:
    https://www.jianshu.com/p/486a514b0ded

mysql索引分类

聚集索引(主键)

  1. 定义:聚集索引指的主键
  2. 存储:最底层的叶子节点存储的就是数据

非聚集索引(又称二级索引)

  1. 定义:非聚集索引又叫辅助索引或者二级索引,即除开主键外的索引,比如复合索引、前缀索引、唯一索引、全文索引
  2. 非聚集索引的存储:最底层的叶子节点<键值,(记录)地址>,即主键所在的地址
  3. 非聚集索引的信息(两种形式)
  • 记录的物理地址—页号:槽号:偏移量
  • 记录的主键值

聚集索引和非聚集索引的区别

  1. 区别
  • 前者(主键)的叶子节点就是数据节点
  • 后者叶子节点仍然是索引节点(存的主键所在的位置),so需要两次索引才能找到数据
  • 由于二级索引不保存完整数据,故它的树高度更小,然而索引效率低(多一次索引哦)
  • 注意:仅当主键发生改变时,才会更新二级索引
  1. 举例说明
  • 聚集索引:查字典的场景,每个字所在的位置有一个页码,如果你知道一个字的所在具体页数便可直接翻到相应的页,此刻可以把字典中的页码看成主键,该页码就是聚集索引
  • 非聚集索引(二级索引):此操作就如查字典,先找到生字的偏旁部首查找到字在哪一页(获得主键的位置),然后再翻到生字的具体章节叶

mysql索引原理以及查询优化

  1. 索引原理以及查询优化:https://www.cnblogs.com/bypp/p/7755307.html
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值