欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > 【mysql】执行过程,背诵版

【mysql】执行过程,背诵版

2025/10/15 23:28:44 来源:https://blog.csdn.net/m0_74282926/article/details/147602156  浏览:    关键词:【mysql】执行过程,背诵版

sql执行再mysql的执行过程

1. 建立连接
  • sql通过tcp/ip发送到服务器
  • 服务器检查用户名,密码,权限
  • 创建线程处理连接

如果是sql8.0之前,select会先从缓存中查找,命中则返回,由于表结构变更会导致缓存失效,已废除

2.解析和优化
  • 词法分析:拆分成token
  • 语法分析:检查语法
  • 生成解析树

解析树是SQL语句经过解析器处理后的结构化表示形式。它就像把一句SQL语句"拆解"成一个树状的结构图

以SQL语句 SELECT name FROM users WHERE age > 18 为例,它的解析树可能大致如下:

          SELECT_STATEMENT/      |      \SELECT    FROM    WHERE|         |        |name      users     CONDITION|age > 18
  • 预处理器:
    • 检查表列是否存在,
    • 检查权限
    • 视图展开
  • 查询优化器:
    • 基于成本优化cbo选择最佳执行方案
    • 生成执行计划 可以通过explain查看
3.执行查询sql
  • innodb执行:
  1. 缓冲池检查,看所需数据是否在内存页
  2. 磁盘读取,没有就查磁盘
  3. 加锁,(排他锁/共享锁)
  4. 事务处理:写入undolog redolog
  5. 返回结果
4.返回结果
  • 返回客户端
  • 连接保活或者关闭

https://github.com/0voice

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词