【面试】数据库—优化—聚簇索引和非聚簇索引、回表查询

原账号已注销,若有需要,请关注此账号

数据库—优化—聚簇索引和非聚簇索引、回表查询

1. 什么是聚簇索引,什么是非聚簇索引 ?

在这里插入图片描述

聚集索引选取规则:

  • 如果存在主键,主键索引就是聚集索引;
  • 如果不存在主键,将使用第一个唯一(UNIQUE)索引作为聚集索引;
  • 如果表没有主键,或没有合适的唯一索引,则InnoDB会自动生成一个rowid作为隐藏的聚集索引;

2. 举例:表中id和name对应的数据结构

在这里插入图片描述

3. 回表查询:先根据name值(Arm)走二级索引找到主键值(10),再根据主键值走聚簇索引找到整行数据

在这里插入图片描述

4. 面试室

面试官:

  • 什么是聚簇索引,什么是非聚簇索引?

候选人:

  • 聚簇索引主要是指数据与索引放到一块,B+树的叶子节点保存了整行数据,有且只有一个,一般情况下主键作为聚簇索引;
  • 非聚簇索引值的是数据与索引分开存储,B+树的叶子节点保存对应的主键,可以有多个,一般我们自己定义的索引都是非聚簇索引;

面试官:

  • 知道什么是回表查询吗?

候选人:

  • 跟刚才介绍的聚簇索引和非聚簇索引是有关系的,回表的意思就是通过二级索引找到对应的主键值;然后再通过主键值找到聚集索引中所对应的整行数据,这个过程就是回表;
  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值