一、索引的分类,什么是覆盖索引,什么是回表,什么是索引下推

一、索引的分类

1、按数据结构:B+数索引,哈希索引,全文索引。
2、按物理存储:聚簇索引(主键索引),二级索引(非聚簇索引)

  • 聚簇索引:叶子节点存储完整的数据记录。
  • 二级索引:叶子节点只存储主键值,而不是完整数据。

3、按字段特性:主键索引、唯一索引、普通索引、前缀索引
4、按字段个数:单列索引,联合索引。

二、什么是覆盖索引

在查询时使用到了二级索引,而所查的字段只有二级索引里的字段,只需要在二级索引内就能查到,不需要再去聚簇索引拿完整数据,这个过程叫覆盖索引。

三、什么是回表

在查询时使用到了二级索引,而所查的字段除了二级索引里的所以包含的字段外还有其他字段,需要在二级索引查到主键值再去聚簇索引查完整字段,这个过程叫回表。

四、什么是索引下推

在联合索引(a,b)中,在执行where a>1 and b=2时,只有a能用到索引,那在找到a=2的数据时,后续的b=2是在主键索引判断还是联合索引里判断呢?

  • 在mysql 5.6之前是在主键索引里判断,也就是拿到主键id后再去主键索引判断b的值,即回表。
  • 在mysql 5.6之后,引入索引下推,直接在联合索引变量的过程中,对包含的字段先做判断,直接过滤不满足条件的记录。
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值