Mysql 回表查询,什么是回表查询,如何拒绝sql查询时的回表问题

文章目录

      • 1. 什么是回表(回表查询)
      • 2. 如何减少回表
      • 3. 使用案例
        • 3.1 问题分析
        • 3.2 避免回表查询
        • 3.3 开始优化

前言: 在继续讲解专栏内容之前,先学习几个概念,以便更好了解:

  • 什么是聚簇索引
  • 什么是回表查询

这篇文章详细分析 回表查询。聚簇索引的理解可以进入这篇文章:什么是聚簇索引


1. 什么是回表(回表查询)

1、回表:指的是 数据库在查询时需要从索引回到主表获取完整数据 的过程,什么意思?---->

在 InnoDB 存储引擎中:

  • 普通索引 只存储 索引的字段和主键,不包含完整的行数据
  • 当查询的字段 不在索引 中时,数据库必须先通过索引找到 主键,然后再回表读取完整的数据
  • 如果查询的字段全部包含在索引里,就可以避免回表,提升查询效率,这被称为 覆盖索引

2、为什么要回表?回表是因为普通索引不包含完整数据,需要回到主键索引查询完整行数据。

3、举例:

 
 

你可能感兴趣的:(Java性能优化实战,mysql,sql,oracle)