CSDN话题挑战赛第2期
参赛话题:一起学Java

1.TCP 连接收到请求后,必须要分配给⼀个线程去执⾏,所以还会有个线程池,去⾛后⾯的流程。
2.在完成 经典TCP 握⼿后,连接器会基于⽤户名和密码来验证身份。
3.经过了连接管理,现在 MySQL 服务器已经获取到 SQL 字符串。
4.执⾏逻辑就会来到第⼆步:查询缓存(MySQL 8.0 版本直接将查询缓存的整块功能删掉)
5.分析器:缓存如果未命中,就要开始真正执⾏语句了
6.⾸先,MySQL 需要知道要做什么,因此需要对 SQL 语句做解析
7.然后,会进⾏词法分析。
8.将⼀个完整的SQL语句,拆分成语句类型(select? insert? update? ...)、表名、列名等等。
9.其次,会进⾏语法分析。
根据语法规则,判断输⼊的这个 SQL 语句是否满⾜ MySQL 语法
10.通过了分析器,说明 SQL 字符串符合语法规范,现在 MySQL 服务器要执⾏ SQL 语句了。
11.优化器:不仅仅只是⽣成执⾏计划这么简单,这个过程它会帮你优化 SQL 语句。
如外连接转换为内连接、表达式简化、⼦查询转为连接、连接顺序、索引选择等⼀堆东⻄,优化的结果就是执⾏计

截⽌到现在,还没有真正去读写真实的表,仅仅只是产出了⼀个执⾏计划
12.执行器:MySQL 通过分析器知道了你要做什么,通过优化器知道了该怎么做,于是就进⼊了执⾏器阶段,开始执⾏语句。
13.开始执⾏的时候,要先判断⼀下你对这个表 T 有没有执⾏查询的权限,如果没有,就会返回没有权限的错误,
如果有权限,就会根据表的 Engine 选择来调⽤对应的引擎接⼝。

14.如果 name 列没有声明任何索引,执⾏步骤如下:
(1). 调⽤ innoDB 引擎接⼝获取表的第⼀⾏,判断 name 是否等于 zimu 。如果不是,跳过。如果是,将结果保
存。
(2). 调⽤ innoDB 引擎接⼝获取表的下⼀⾏,重复相同逻辑,⼀直到表的最后⼀⾏。
(3). 将所有满⾜条件的结果集返回给客户端。

15.如果 name 列有索引,执⾏步骤如下:
(1). 调⽤ innoDB 引擎接⼝获取索引树(B+树),基于索引树快速查到 name 等于 zimu 的所有主键id。
(2). 将所有满⾜条件的组件 id,回主表查详细信息。(这个操作称为“回表”)
(3). 将所有满⾜条件的结果集返回给客户端。

Mysql完整执行顺序相关推荐

  1. Mysql关键字执行顺序-深入解析

    Mysql关键字执行顺序-深入解析 一.解释关键字执行顺序 二.关于执行顺序可能会有的疑问 1 on和join 为什么先执行on 2 on和where 有什么区别,哪些场景是相同的 3 where和h ...

  2. 数据库-优化-MYSQL的执行顺序

    MySQL的执行顺序 MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操作,最后执行的是LIMIT操作.其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入,只 ...

  3. Mysql的执行顺序与优化分析

    编写顺序与执行顺序分析 一条完整的sql语句编写流程应该如下: select distinct 查询字段   from 表名  JOIN 表名    ON 连接条件   where 查询条件   gr ...

  4. mysql limit 执行顺序_SQL语句执行顺序及MySQL中limit的用法

    一. SQL语句执行顺序及MySQL中limit的用法 执行顺序:from... where...group by... having.... select ... order by... limit ...

  5. MySql的执行顺序

    mysql执行顺序如下: 1. from 阶段 2. where 阶段 3. group by 阶段 4. having 阶段 5. select 阶段 6. order by 阶段 7. limit ...

  6. mysql中的运算符的执行顺序_【MySQL】执行顺序

    我去找你❤️ 我给你买❤️ 我带你去❤️ 我很爱你❤️ 我们回家❤️ 我们结婚❤️ 你听过最孤独的话是什么? 同学,code就剩你没提交了 今天讨论的话题是 MySQL执行顺序 ??? 先养眼,再看题 ...

  7. mysql where执行顺序_mysql where执行顺序

    where执行顺序是从左往右执行的,在数据量小的时候不用考虑,但数据量多的时候要考虑条件的先后顺序,此时应遵守一个原则:排除越多的条件放在第一个. 在用MySQL查询数据库的时候,连接了很多个过滤条件 ...

  8. mysql索引执行顺序_mysql索引及sql执行顺序

    1, 红黑树 同一层级的黑树到根结点经历的黑树数目一样 最坏情况的时间复杂度 lg n 是二叉树 b树 结点可以有多个孩子 b+树 父节点不存储数据 聚集索引)的叶子节点会存储数据行,也就是说数据和索 ...

  9. mysql语句执行顺序

    http://www.cnblogs.com/rollenholt/p/3776923.html

最新文章

  1. JZ2440学习总结1
  2. shell脚本常用参数与格式
  3. python列表的内置方法_Python内置方法详解
  4. 2017西安交大ACM小学期数论 [等差数列]
  5. linux一级常用目录,小蚂蚁学习Linux(3)——Linux一级目录说明和常用命令解释...
  6. dxp2004鼠标增强工具_26 工具栏的设置
  7. Ubuntu 下解压tar.xz方法
  8. HashMap 在 JDK 1.8 中新增的数据结构 – 红黑树
  9. java非字符文件的复制--图片复制
  10. 【通信原理 入坑之路】 —— 详细理解傅里叶变换以及它在通信里面的应用
  11. 【报告分享】2021年中国网络文学出海报告-艾瑞咨询(附下载)
  12. 啥是Document类型
  13. 截流式合流制设计流量计算_截流式合流制管渠的水力计算要点
  14. 数据库架构设计——数据库选型
  15. Linux获取纳秒级时间,WINDOW和LINXU下获取纳秒级时间精度
  16. JS调用拨打电话功能
  17. IDEA社区版搭建Tomcat服务器并创建web项目
  18. unity 2d角色移动卡住的原因
  19. PMP考试计算专题——网络图
  20. 弗洛伊德与他的精神分析学

热门文章

  1. 数字包裹一键送达 “类邮件“模式了解一下!
  2. 音乐雷达 shazam算法_shazam等音乐搜索应用程序的工作背后,创建您自己的音乐搜索应用程序...
  3. B端 — 卡片式列表设计
  4. 剑指offer系列——剑指 Offer 04. 二维数组中的查找(C语言)
  5. 《国王的演讲》:机会永远是给有准备的人的
  6. ListView字母快速索引 自动搜索
  7. 2023年助理工程师初级职称怎么申报,伴德诚
  8. 关于专利权的期限、终止和无效
  9. JavaScript - 内置构造函数(内置对象)
  10. Android RxJava操作符的学习---条件 / 布尔操作符