当前位置: 首页 > article >正文

MySQL篇之回表查询

一、聚集索引

        将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据。特点:必须有,而且只有一个。

聚集索引选取规则:

        1. 如果存在主键,主键索引就是聚集索引。

        2. 如果不存在主键,将使用第一个唯一(UNIQUE)索引作为聚集索引。

        3. 如果表没有主键,或没有合适的唯一索引,则InnoDB会自动生成一个rowid作为隐藏的聚集索引。

二、二级索引

        将数据与索引分开存储,索引结构的叶子节点关联的是对应的主键。特点:可以存在多个。

三、回表查询

        根据二级索引,找到对应的name对应的索引,然后通过聚集索引找到对应的行数据。

四、面试的回答

面试官:什么是聚簇索引什么是非聚簇索引 ?

候选人:聚簇索引主要是指数据与索引放到一块,B+树的叶子节点保存了整行数据,有且只有一个,一般情况下主键在作为聚簇索引的

非聚簇索引值的是数据与索引分开存储,B+树的叶子节点保存对应的主键,可以有多个,一般我们自己定义的索引都是非聚簇索引

面试官:知道什么是回表查询嘛 ?

候选人:嗯,其实跟刚才介绍的聚簇索引和非聚簇索引是有关系的,回表的意思就是通过二级索引找到对应的主键值,然后再通过主键值找到聚集索引中所对应的整行数据,这个过程就是回表

备注:如果面试官直接问回表,则需要先介绍聚簇索引和非聚簇索引】


http://www.kler.cn/a/233437.html

相关文章:

  • 论文阅读《BEVFormer v2》
  • 2024版本IDEA创建Sprintboot项目下载依赖缓慢
  • 使用 start-local 脚本在本地运行 Elasticsearch
  • C++单例模式实现
  • 开源vs闭源:你更看好哪一方?
  • centos7上安装mysql
  • SegmentAnything官网demo使用vue+python实现
  • LLaMA 2 和 QianWen-14B
  • 制作耳机壳的UV树脂和塑料材质相比劣势有哪些?
  • Amazon Dynamo学习总结
  • mac电脑快捷指令实现拼图
  • django中实现数据迁移
  • 数据结构(C语言)代码实现(八)——顺序栈实现数值转换行编辑程序括号分配汉诺塔
  • 深度学习(13)--PyTorch搭建神经网络进行气温预测
  • 如何在 Mac 上恢复永久删除的文件:有效方法
  • STM32F1 - 标准外设库_规范
  • Python包管理:如何将本地目录变为可引用的模块
  • OLAP技术的发展及趋势简述
  • React18原理: 渲染与更新时的重点关注事项
  • Java基础常见面试题总结-并发(一)
  • 深入理解WebSocket协议:实现实时通信的利器
  • 【GO语言卵细胞级别教程】03.条件与循环语句
  • 【MySQL】数据库基础 -- 详解
  • vue-cli引入本地json数据:封装为js文件,无需请求直接读取
  • c++学习:命名空间
  • C++ 中的模型预测控制(01/2)