MySQL 执行流程是怎样的?

可以看到, MySQL 的架构共分为两层:Server 层和存储引擎层

  • Server 层负责建立连接、分析和执行 SQL。MySQL 大多数的核心功能模块都在这实现。
  • 存储引擎层负责数据的存储和读取。 InnoDB、MyISAM、Memory。不同的存储引擎共用一个 Server 层。

执行一条 SQL 查询语句,期间发生了什么?

  1. 连接器:客户端与mysql服务建立连接,获取用户权限,用于后续的权限校验;
  2. 查询缓存:连接成功之后,客户端可以发送sql语句,这个时候解析sql语句的第一个字段,如果是select 就会查询缓存。查询语句如果命中查询缓存则直接返回,否则继续往下执行。MySQL 8.0 已删除该模块;
  3. 解析 SQL:通过解析器对 SQL 查询语句进行词法分析、语法分析,然后构建语法树,方便后续模块读取表名、字段、语句类型;
  4. 执行 SQL:执行 SQL 共有三个阶段:
    • 预处理阶段:预处理器检查表或字段是否存在;将 select * 中的 * 符号扩展为表上的所有字段。
    • 优化阶段:选择成本最小的执行计划,就比如说表中有好几个索引,需要决定走哪条索引;
    • 执行阶段:执行器根据执行计划去执行 SQL 语句,与存储引擎进行交互,从存储引擎读取记录,返回给客户端;

更新语句执行流程如下:分析器---->权限校验---->执行器--->引擎---redo log(prepare 状态)--->binlog--->redo log(commit 状态)

相关推荐
狮子座明仔11 小时前
ASI-Evolve: 让AI自己搞研究、自己做实验、自己迭代进化 -- 这事靠谱吗?
人工智能·深度学习·机器学习·自然语言处理·架构
无忧智库11 小时前
智库级深度复盘:智慧能源管理云平台解决方案——从“源-网-荷”互动到“产-融-数”一体化的架构演进(PPT)
架构
Yeats_Liao11 小时前
混合部署架构:CPU+GPU协同推理的任务调度策略
服务器·arm开发·人工智能·架构·边缘计算
上海云盾第一敬业销售11 小时前
2026年企业DDoS防护指南:高防CDN与高防IP架构选型与实战
tcp/ip·架构·ddos
一只大袋鼠11 小时前
MySQL 入门到单表操作超全总结(数据库 + SQL + 表操作 + 数据 CRUD)
数据库·mysql
无忧智库11 小时前
智库级深度复盘:石油石化管线与危化品库区低空防爆无人机巡检系统的架构演进与业务重塑(WORD)
架构·无人机
我是李龙11 小时前
第二十一章 项目启动与治理架构:从招标到甲乙方协作机制的建立
java·架构·devops
heimeiyingwang11 小时前
【架构实战】CDN架构设计与加速策略
架构
黑牛儿11 小时前
2026 MySQL 面试 100 题: 索引 / 事务 / 锁(答案 + 原理)
android·mysql·面试
老张的张Z11 小时前
CISSP 域4知识点 网络安全架构安全
安全·web安全·架构