什么是回表,怎么解决?

表tbl有a,b,c三个字段,其中a是主键,b上建了索引,
然后编写sql语句SELECT * FROM tbl WHERE a=1这样不会产生回表,因为所有的数据在a的索引树中均能找到

SELECT * FROM tbl WHERE b=1这样就会产生回表,因为where条件是b字段,那么会去b的索引树里查找数据,但b的索引里面只有a,b两个字段的值,没有c,那么这个查询为了取到c字段,就要取出主键a的值,然后去a的索引树去找c字段的数据。 查了两个索引树,这就叫回表

索引覆盖就是查找该索引以找到您需要的所有数据,而无需转到另一个数据结构。事实上,你只是不需要回到手表上。

[En]

Index coverage is to look up this index to find all the data you need, without going to another data structure. In fact, you just don’t have to go back to the watch.

怎么避免?不是必须的字段就不要出现在SELECT里面。或者b,c建联合索引。但具体情况要具体分析,索引字段多了,存储和插入数据时的消耗会更大。这是个平衡问题

原文:https://blog.csdn.net/qq_43410909/article/details/122437980

Original: https://www.cnblogs.com/crazy-lc/p/16474311.html
Author: MyBeans
Title: 什么是回表,怎么解决?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/505230/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • mysql基本数据类型

    概述 要想学好mysql,了解其支持的基本数据类型以及内部原理是极为重要的,只有这样,我们才能根据不同的业务要求来选择不同的数据类型,实现最佳的存储效果和查询性能,因而本文就着重总…

    数据库 2023年5月24日
    0128
  • html简单学习!

    博主学习html的随记 1.常用标签 1.基础标签 2.格式标签 3.表单 4.超文本标签 5.列表 6.表格 7.样式 8.特殊符号 9.内联框架(网页嵌套) 1.常用标签 1….

    数据库 2023年6月16日
    082
  • Python–socket

    socket网络编程:socket、socketserver socket:{server,client} socket_server示例: socket_client示例: 应用…

    数据库 2023年6月9日
    067
  • Spark知识点总结

    Spark基础 Spark优势 优秀的数据模型与丰富计算抽象 Spark 借鉴了 MapReduce 思想发展而来,保留了其分布式并行计算的优点并改进了其明显的缺陷。 让中间数据存…

    数据库 2023年6月6日
    072
  • MySQL多表查询

    多表查询 案列说明 笛卡尔积的理解 select id,department_name from employees,departments;#错的 select id,depar…

    数据库 2023年5月24日
    074
  • InnoDB 中不同SQL语句设置的锁

    锁定读、UPDATE 或 DELETE 通常会给在SQL语句处理过程扫描到的每个索引记录上设置记录锁。语句中是否存在排除该行的WHERE条件并不重要。InnoDB不记得确切的WHE…

    数据库 2023年6月14日
    094
  • 格林童话之祖父和孙子

    从前有个很老很老的老人,眼睛花,耳朵也背,双膝还不住地发抖。每当他坐在餐桌前 吃饭时,汤匙也握不稳,常常把菜汤撒在桌布上,汤还会从嘴边流出来。儿子和媳妇都嫌弃 他,老人只好躲到灶后…

    数据库 2023年6月9日
    081
  • 关于在vue项目中引入<el-img>标签失败的问题

    问题如下 语法没有写错,但是冒号错了,不能在img后面紧接着冒号 只能在src前面紧接着冒号 Original: https://www.cnblogs.com/ly-heker/…

    数据库 2023年6月11日
    072
  • 启程——博客之路

    憋了这么久还是忍不住开始写自己的博客了。。。之前总是看别人的博客,伸手党一个,但是时间久了,总有一些自己想说的话,想想分享一些技术、经验,也能记录自己的学习历程,毕竟编程这条路还很…

    数据库 2023年6月9日
    067
  • JSON

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。并有效地提升网络传输效率。 一. 什么是 …

    数据库 2023年6月11日
    075
  • django中出现 错误 Errno 10053

    django中出现 错误 Errno 10053 pycharm里出现下面错误File “C:\Python27\lib\socket.py”, line …

    数据库 2023年6月9日
    078
  • jdbc-实现用户登录业务(存在sql注入)

    package com.cqust; import java.sql.Connection;import java.sql.DriverManager;import java.sq…

    数据库 2023年5月24日
    068
  • 【MySQL】笔记(3)— 连接查询;子查询;union;limit;

    一.连接查询: 1.1、什么是连接查询?在实际开发中,大多数情况下并不是从单个表中查询数据,而是通常通过多个表的联合查询来获得最终结果。 [En] In the actual de…

    数据库 2023年5月24日
    069
  • Python–module–OS

    csharp;gutter:true; import os a = os.getcwd() # 获取当前的操作目录 b = os.chdir("C:\Users&quot…

    数据库 2023年6月9日
    080
  • Guava中这些Map的骚操作,让我的代码量减少了50%

    Guava是google公司开发的一款Java类库扩展工具包,内含了丰富的API,涵盖了集合、缓存、并发、I/O等多个方面。使用这些API一方面可以简化我们代码,使代码更为优雅,另…

    数据库 2023年6月14日
    075
  • python: can’t open file ‘upload.py’: [Errno 2] No such file or directory

    为了发博客方便,参考别人的文章(见参考文章:[1][2]),使用 Metaweblog 和 pycnblog([3])插件实现相关功能,将本地markdown文件同步至博客园。使用…

    数据库 2023年6月14日
    077
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球