展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

SQL执行流程

  • 执行流程

  • 查询流程

1、查询缓存:Server 如果在查询缓存中发现了这条 SQL 语句,就会直接将结果返回给客户端;如果没有,
就进入到解析器阶段。需要说明的是,因为查询缓存往往效率不高,所以在 MySQL8.0 之后就抛弃了这个功能
2、解析器:在解析器中对 SQL 语句进行语法分析、语义分析

2.1、如果SQL语句正确,则会生成一个这样的语法树

3、优化器:在优化器中会确定 SQL 语句的执行路径,比如是根据 全表检索 ,还是根据 索引检索 等
3.1、在查询优化器中,可以分为 逻辑查询 优化阶段和 物理查询 优化阶段
4、执行器:截止到现在,还没有真正去读写真实的表,仅仅只是产出了一个执行计划。于是就进入了 执行器阶段
4.1、在执行之前需要判断该用户是否 具备权限 。如果没有,就会返回权限错误。如果具备权限,
就执行 SQL查询并返回结果。在 MySQL8.0 以下的版本,如果设置了查询缓存,这时会将查询结果进行缓存

posted @   DogLeftover  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
历史上的今天:
2021-06-08 maven入门
点击右上角即可分享
微信分享提示