要说回表查询,先要从InnoDB的索引实现说起。InnoDB有两大类索引,一类是聚集索引(Clustered Index),一类是普通索引(Secondary Index)。

InnoDB的聚集索引

InnoDB聚集索引的叶子节点存储行记录,因此InnoDB必须要有且只有一个聚集索引。

1.如果表定义了PK(Primary Key,主键),那么PK就是聚集索引。

2.如果表没有定义PK,则第一个NOT NULL UNIQUE的列就是聚集索引。

3.否则InnoDB会另外创建一个隐藏的ROWID作为聚集索引。

这种机制使得基于PK的查询速度非常快,因为直接定位的行记录。

InnoDB的普通索引

InnoDB普通索引的叶子节点存储主键值(MyISAM则是存储的行记录头指针)。

什么是回表查询呢?

假设有个t表(id PK, name KEY, sex, flag),这里的id是聚集索引,name则是普通索引。

表中有四条记录:

id

name

sex

flag

1

sj

m

A

3

zs

m

A

5

ls

m

A

9

ww

f

B

聚集索引的B+树索引(id是PK,叶子节点存储行记录):

mysql回表什么意思_什么是Mysql的回表查询?聊一聊相关推荐

  1. mysql查询回表什么意思_什么是MYSQL回表查询

    select id,name where name='shenjian' select id,name,sex where name='shenjian' 多查询了一个属性,为何检索过程完全不同? 什 ...

  2. mysql表的类型_浅谈MySQL表类型

    MySQL为我们提供了很多表类型供选择,有MyISAM.ISAM.HEAP.BerkeleyDB.InnoDB,MERGE表类型,萝卜白菜各有所爱是不假,可是真正选择何种表类型还是要看业务需要啊,每一 ...

  3. mysql和oracle的锁_关于数据库行锁与表锁的认识

    MySQL MySQL(InnoDB存储引擎)默认是自动提交事务的,所以这个测试,需要先将MySQL的autocommit设置为0,关闭自动提交,需要自己手动提交事务 -- 关闭自动提交 set au ...

  4. mysql表空间大小_浅谈mysql中各种表空间(tablespaces)的概念

    mysql中,会涉及到各种表空间的概念,虽然,很多方面这些概念和Oracle有相似性,但也有很多不同的地方,初学者很容易被这些概念弄的晕头转向,从而,混淆这些概念的区别和理解,下面,就简要介绍和说明一 ...

  5. mysql 跨实例复制数据_社区投稿 | MySQL 跨实例 copy 大表解决方案

    作者简介 任坤,现居珠海,先后担任专职 Oracle 和 MySQL DBA,现在主要负责 MySQL.mongoDB 和 Redis 维护工作. 一.背景 某天晚上 20:00 左右开发人员找到我, ...

  6. mysql 跳表 b 树_简单谈谈Mysql索引与redis跳表

    摘要 面试时,交流有关mysql索引问题时,发现有些人能够涛涛不绝的说出B+树和B树,平衡二叉树的区别,却说不出B+树和hash索引的区别.这种一看就知道是死记硬背,没有理解索引的本质.本文旨在剖析这 ...

  7. SQL数据库不用SQL语句能显示全表的内容_详解mysql数据库sql优化技巧总结

    概述 关于SQL优化的教程很多,但是比较杂乱.所以抽空整理了一下,也写出来跟大家分享一下.以下主要针对MySQL数据库,Oracle数据库也可以参考. 优化技巧总结 1.建索引 对查询进行优化,要尽量 ...

  8. mysql 表设计工具_非常好用的一个表设计工具(EZDML)

    表结构设计器(EZDML) 这是一个数据库建表的小软件,可快速的进行数据库表结构设计,建立数据模型.类似大家常用的数据库建模工具如PowerDesigner.ERWIN.ER-Studio和Ratio ...

  9. mysql 5.7临时表空间_深度解析MySQL 5.7之临时表空间

    临时表 临时表顾名思义,就是临时的,用完销毁掉的表. 数据既可以保存在临时的文件系统上,也可以保存在固定的磁盘文件系统上. 临时表有下面几种: 1.全局临时表 这种临时表从数据库实例启动后开始生效,在 ...

  10. mysql支持的并发数_重学MySQL系列(五):谈谈对MySQL的存储引擎的理解

    原创作者,公众号[程序员读书],欢迎关注公众号,转载文章请注明出处哦. MySQL关于存储引擎的架构设计,相较于其他关系数据库管理系统,比如Oracle,SQL Server等数据库,这是MySQL最 ...

最新文章

  1. FAST300M无线宽带路由器FW300R(从)桥接TPLINK路由器(主)
  2. vc c语言坐标图,VC++6.0下C语言画图编程问题
  3. win7 ie临时文件夹怎么修改存放位置
  4. 阿里大数据中台12年建设经验的精华总结!一次性说清!
  5. flash player for linux 64,64-bit linux下装什么adobe flash player
  6. CF(437C)The Child and Toy(馋)
  7. 创建型模式、结构型模式和行为型模式_设计模式之创建型模式
  8. java游戏细菌_细菌Bacteria
  9. Access优已成忧,一年后,还是离开了秋色园了
  10. 30个落地案例告诉你,区块链到底怎么用
  11. 从你的全世界路过(张嘉佳)
  12. 苹果计算机密码bug,苹果iOS 13系统新BUG:快速输入密码,解锁无效
  13. 华为matebooke升级鸿蒙,由华为MateBook E引发的猜测:ARM+鸿蒙OS改变笔记本的未来...
  14. 康复医疗 趋势引领新蓝海
  15. Microsoft Visual Studio C++2022 Windows 11 SDK环境
  16. 如何把Windows系统安装到U盘随身携带,即插即用!
  17. TSN网络中的Qbu和IEEE 802.3br帧抢占是如何工作的?
  18. hibernate二级缓存(三) 自定义实现一个简单的hibernate二级缓存
  19. sql嵌套查询和多表联合查询之间的差别
  20. 微信小程序申请地理位置接口wx.getLocation不通过的应对方案 过率很高

热门文章

  1. 易福门PN3594压力传感器
  2. 视频文件转换成音频的方法
  3. mne在 pycharm 显示图片的一些杂记
  4. 最强大脑(9-10)
  5. 中南大学 计算机硕士论文格式,中南大学硕士、博士学位论文格式的统一要求.pdf...
  6. CC1101学习(一)
  7. auto 自动赋予类型
  8. 基于物联网的远程温湿度监测系统 --- ESP8266 + 机智云
  9. Python3爬虫进阶JS逆向学习(三)
  10. 【python】“+“加号的用法