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

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

文章目录

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

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

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

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


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

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

在 InnoDB 存储引擎中:

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

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

3、举例:


                

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

相关文章:

  • Ubuntu软件包离线下载安装
  • AI时代,如何从海量数据中挖掘金矿
  • 基于Babylon.js的Shader入门之六:让Shader反射环境贴图
  • Day24:队列的最大值
  • 深入理解指针(3)(C语言版)
  • 如何自定义5x5键盘
  • 【鸿蒙开发】第五十二章 PDF Kit(PDF服务)
  • 【C++笔记】C++IO流的深度剖析
  • 移动WiFi设备品牌推荐与选购指南
  • Power Automate Send an email (V2)组件的邮件体中插入超链接
  • 花粉过敏激增背后:气候变化如何重塑我们的生活?疾风气象大模型助力未来气象探索
  • Photoshop PS 2025图像处理 windows
  • 黑盒测试与白盒测试详解
  • 蓝桥杯第十届 特别的数
  • Git Bash 设置Notepad++作为默认编辑器
  • 在linux部署网站
  • [plugin:vite:import-analysis] Cannot find module ‘vuex\dist\vuex.esm-bundler
  • 【Qt】Ubuntu22.04使用命令安装Qt5和Qt6
  • 蓝桥杯--奇怪的捐赠
  • C++ stack容器总结