千家信息网

mysql的sql语句执行流程

发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,1、client和server建立连接,client发送sql至server(对应连接器这一过程)2、server如果在查询缓存中发现了该sql,则直接使用查询缓存的结果返回给client,如果查询缓
千家信息网最后更新 2025年11月12日mysql的sql语句执行流程

1、client和server建立连接,client发送sql至server(对应连接器这一过程)

2、server如果在查询缓存中发现了该sql,则直接使用查询缓存的结果返回给client,如果查询缓存中没有,则进入下面的步骤(对应查询缓存这一过程,8.0这一过程已经不存在了,8.0完全抛弃了这个功能)

3、server对sql进行语法分析,识别出sql里面的字符串是否符合标准,比如select关键字不能写错(对应分析器这一过程)

4、server对sql进行语义分析,识别出sql里面的字符串的具体意思是什么,比如T1是表名,C1是列名(对应分析器这一过程。3、4步其实解析的过程,这个解析的过程是分析器的工作不是优化器的工作)

5、server确定sql的执行路径,比如走索引还是全表,多表连接时哪张表先走哪张表后走,当你的where条件的可读性和效率有冲突时mysql内部还会自动进行优化,也就是大家理解的重写where子句(对应优化器这一过程)

6、server对执行sql的用户进行权限检查,比如对表是否有权限执行(对应执行器这一过程)

7、server执行该sql语句,发送结果给client(对应执行器这一过程)

连接器-->查询缓存-->分析器-->优化器-->执行器

如果表 T1 中没有字段 C1,而执行select * from T1 where C1=1会报错不存在C1这个列,这个过程对应上面第4个过程,对应分析器这一过程

如果用户对T1表没有权限,而执行select * from T1 where C1=1会报错对表T1没有权限,这个过程对应上面第6个过程,对应执行器这一过程

过程 分析 分析器 缓存 查询 权限 执行器 字符 字符串 用户 结果 连接器 会报 别出 工作 语句 也就是 关键 关键字 功能 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 提高web服务器安全 e31220是服务器主板吗 神武答题软件开发 查看服务器名 梦幻西游可以开2个服务器吗 京挚互联网科技有限责任公司 服务器开发ibmc管理程序 分布式存储后取出数据库 网络安全意识专项培训 云服务器桌面背景换颜色 江苏通信网络安全防护咨询 软件开发开源学习 网络安全标准化教学 免费互助软件开发 网络安全专家吕述望 政府部门重大节日网络安全保障 软件开发学前端还是后端好 网络及网络安全培训什么内容 服务器安全文件 计算机网络技术职业现状分析 网络安全教育的手抄报大学 数字证书是如何保证网络安全的 达梦数据库设置时间显示格式 银行做服务器开发 阿拉善盟软件开发 系统学习数据库需要看什么书 2台服务器互相同步数据 数据库关系代数怎么练习 银行疫情期间保障网络安全 软件开发后怎么做会计分录
0