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个过程,对应执行器这一过程


网页题目:mysql的sql语句执行流程
分享网址:http://hxwzsj.com/article/pgsdoc.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 成都网站建设公司 成都网站制作 重庆网站建设 高端定制网站设计 成都网站设计 成都网站建设 四川成都网站建设 成都网站建设 成都营销网站建设 手机网站建设套餐 成都网站制作 成都响应式网站建设 定制网站建设 企业网站制作 成都做网站建设公司 成都网站制作 网站建设改版 高端网站设计 网站建设公司 阿坝网站设计 成都品牌网站建设 响应式网站设计方案