文章目录
-
-
- 1. 什么是回表(回表查询)
- 2. 如何减少回表
- 3. 使用案例
-
- 3.1 问题分析
- 3.2 避免回表查询
- 3.3 开始优化
-
前言: 在继续讲解专栏内容之前,先学习几个概念,以便更好了解:
- 什么是聚簇索引
- 什么是回表查询
这篇文章详细分析 回表查询。聚簇索引的理解可以进入这篇文章:什么是聚簇索引
1. 什么是回表(回表查询)
1、回表:指的是 数据库在查询时需要从索引回到主表获取完整数据 的过程,什么意思?---->
在 InnoDB 存储引擎中:
- 普通索引 只存储 索引的字段和主键,不包含完整的行数据
- 当查询的字段 不在索引 中时,数据库必须先通过索引找到 主键,然后再回表读取完整的数据
- 如果查询的字段全部包含在索引里,就可以避免回表,提升查询效率,这被称为 覆盖索引
2、为什么要回表?回表是因为普通索引不包含完整数据,需要回到主键索引查询完整行数据。
3、举例: