什么是回表查询?

一般情况下是:先到普通索引上定位主键值,再到聚集索引上定位行记录,它的性能较扫一遍索引树低。

具体解释:

我们自己建的索引不管是单列索引还是联合索引,都称为普通索引,主键索引是聚簇索引,也就是索引的叶子节点存的是整个单条记录的所有字段值。每个普通索引就对应着一颗独立的索引B+树,索引 B+ 树的节点仅仅包含了索引里的几个字段的值以及主键值。当你执行一条sql语句时,需要从两个b+索引中去取数据。

在什么情况会出现回表操作?

举个例子:

tbla,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字段的数据。查了两个索引树,就出现了回表操作。

什么是索引覆盖?

简单说就是, 索引列+主键 包含 SELECT 到 FROM之间查询的列 。就是索引覆盖。可以不用去进行回表操作。

为什么设置了命中了索引但还是造成了全表扫描

就是虽然命中了索引,但在叶子节点查询到记录后还要大量的回表,优化器认为不如直接去扫描全表。

mysql中的回表操作相关推荐

  1. 什么情况下mysql innodb会发生回表操作?

    什么情况下mysql innodb会发生回表操作? 回表是什么意思? 什么是索引覆盖? 为什么设置了命中了索引但还是造成了全表扫描 MySQL innodb的 主键索引是簇集索引(聚簇索引),也就是索 ...

  2. mysql回表_到底什么情况下mysql innodb会发生回表操作?

    谢邀 MySQL innodb的主键索引是簇集索引,也就是索引的叶子节点存的是整个单条记录的所有字段值,不是主键索引的就是非簇集索引,非簇集索引的叶子节点存的是主键字段的值.回表是什么意思?就是你执行 ...

  3. Mysql中的回表查询

    基础知识 Mysql中的B-Tree和B+Tree原理解析 MySQL MyISAM和Innodb索引实现原理分析 什么是回表查询 注意:mysql默认使用的innodb引擎,主键索引 == 聚集索引 ...

  4. mysql 操作表的例子,mysql中库和表的简单操作总结(附示例)

    本篇文章给大家带来的内容是关于mysql中库和表的简单操作总结(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一. 库的操作 1.创建数据库 创建数据库: create d ...

  5. mysql中视图和表的区别及联系_MySQL中Update、select联用操作单表、多表,及视图与临时表的区别...

    一.MySQL中使用从表A中取出数据来更新表B的内容 例如:要update表data中的一些列属性,但是修改属性的内容来源是来自表chanpin.SQL语言中不要显示的出现select关键字 upda ...

  6. MySQL中的多表连接

    MySQL中的多表连接 当查询的数据并不是来源一个表时,需要使用多表链接操作完成查询.根据不同表中的数据之间的关系查询相关联的数据. 一.语法结构 使用一个表在多个表中查询数据: Where子句中写连 ...

  7. mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数

    <Mysql实例详解Mysql中的JSON系列操作函数>要点: 本文介绍了Mysql实例详解Mysql中的JSON系列操作函数,希望对您有用.如果有疑问,可以联系我们. MYSQL必读前言 ...

  8. (转)Hibernate中的多表操作

    http://blog.csdn.net/yerenyuan_pku/article/details/70556208 Hibernate中的多表操作 在实际开发中,我们不可能只是简简单单地去操作单表 ...

  9. 在MySQL中实现交叉表查询2(动态交叉表)

    在MySQL中实现交叉表查询2(动态交叉表) 交叉表分为静态交叉表和动态交叉表.其中静态交叉表中的列是固定的,因此相对容易实现:而动态交叉表中的列需要动态生成. 一.静态交叉表的实现 参见上一篇文章: ...

最新文章

  1. 牲畜体表信息的三维重建
  2. html Qestionnaire表单
  3. [文件系统]文件系统学习笔记(十)---杂项
  4. Python入门100题 | 第021题
  5. Golang 的字符编码与 regexp
  6. 【数据分析实例】6000 条倒闭企业数据分析
  7. coxphfit+matlab,Cox Proportional Hazards Model
  8. 中文论文万能句型_干货|SCI论文写作的万能句型~
  9. fastdfs-client-java操作fastdfs
  10. 99个wordpress经典插件
  11. [论文总结] 智慧农业论文摘要阅读概览
  12. android:digits 代码设置,EditText中android:digits失效问题
  13. 用户体验与可用性测试
  14. 转载:保护 Web 服务器的安全
  15. 关于Python绘制正态分布图(概率密度分布)以及遇到的问题(label无法显示)
  16. 前端框架,库,组件,插件,控件的理解
  17. 大数据毕设 - 大数据二手房数据分析与可视化(python 爬虫)
  18. cf修改游戏客户端是什么意思_cf封号原因是非法篡改游戏客户端是什么意思
  19. 剑指Offer——求1+2+3+...+n
  20. 新版qq虚拟摄像头颜色不正常_分享 | 在线教学常见问题QQ直播、视频通话、群课堂...

热门文章

  1. python读音发音-linux怎么读(中文读音发音)
  2. VUE调用pc端摄像头
  3. 【Python】基础入门学习-B站莫烦老师
  4. Exception encountered during context initialization - cancelling refresh attempt:org.springframework
  5. html 中英文翻译
  6. 客户关系管理系统CRM小程序源码
  7. Centos 安装 OpenLDAP
  8. 关于研究生发论文的一些事
  9. 简单的文本编辑器 - wxWindows编程事例
  10. TI cc2541协议栈开发环境的搭建