一条查询SQL查询语句的执行原理是什么

本篇文章为大家展示了一条查询SQL查询语句的执行原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

创新互联建站专注于网站建设|网站维护公司|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖成都火锅店设计等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身开发品质网站。

先熟悉一下浅而易懂SQL执行的流程图SQL查询过程七步曲

一条查询SQL查询语句的执行原理是什么

1.查询SQL发送请求

客户端将查询sql按照MySQL通信协议传输到服务端。服务端接受到请求后,服务端单起一个线程执行sql    
2.判断是否为select查询语句    
执行前mysql会通过命令分发器判断其是否是一条select语句(判断sql语句前6个字符是否为select);  
3.查询缓存先行    
MySQL在开启查询缓存的情况下,首先会先在查询缓存中查找该SQL是否完全匹配,如果完全匹配,验证当前用户是否具备查询权限,如果权限验证通过,直接返回结果集给客户端,该查询也就完成了。如果不匹配继续向下执行。  
4.语法分析之分析器      
如果在查询缓存中未匹配成功,则将语句交给分析器作语法分析。MySQL通过分析语法知道要查的内容。这步会对语法进行检验,如果语法不对就会返回语法错误中断查询。如果语法不正确
You have an error in your SQL syntax
5.查询之预处理器      

(1)分析器的工作完成后,将语句传递给预处理器,检查数据表和数据列是否存在,解析别名看是否存在歧义如果错误返回  
 Unknown column xxx in ‘where clause’

(2)sql是否有该表的的操作权限;如果错误

ERROR 1142 (42000): SELECT command denied to user 'root'@'localhost' for table 'xxx'
6.查询之优化器    
语句解析完成后,MySQL就知道要查的内容了,之后会将语句传递给优化器进行优化(通过索引选择最快的查找方式),并生成执行计划。
7.查询之执行器    
最后,交给执行器去具体执行该查询语句。执行器开始执行后,会逐渐将数据保存到结果集中,同时会逐步将数据缓存到查询缓存中,最终将结果集返回给客户端。

上述内容就是一条查询SQL查询语句的执行原理是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


本文名称:一条查询SQL查询语句的执行原理是什么
文章URL:http://hbruida.cn/article/geoeog.html