mysql的sql语句执行流程
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,1、client和server建立连接,client发送sql至server(对应连接器这一过程)2、server如果在查询缓存中发现了该sql,则直接使用查询缓存的结果返回给client,如果查询缓
千家信息网最后更新 2025年02月05日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安全错误
数据库的锁怎样保障安全
数据库应用第三版知识点
医院系统软件开发语言
数据库表结构备份
温州营销软件开发管理
金仓数据库恢复表数据
邮件服务器被中继了怎么办
联合国工业供需平衡数据库
软件开发30岁后如何规划
软件开发与测试占比
济南hp服务器维修
2015年全球网络安全综述
诺亚5g网络安全吗
安徽党性体检软件开发
小安网络安全服务市场
免费网络安全小卫士活动教案
网络技术应用操作题答案
北京青少年网络安全学院
网络安全版本标题十六字
郑州北针网络技术有限责任公司
gmod服务器列表没有服务器
mac作为代理服务器
甲骨文服务器东京
网络安全产品概述
企业网络安全防护解决方案
移动端服务器
高教社期刊数据库
广东中山网络安全事件
软件测试为什么要数据库
网络服务器数据恢复收费标准
物理数据库设计实验原理