首页 > 数据库技术 > 详细

MySQL中的语法怎么执行的

时间:2020-06-11 20:37:15      阅读:50      评论:0      收藏:0      [点我收藏+]

对于测试行业的小伙伴来说,看到“select * from table where ...”应该再熟悉不过了,那么是否明白这个语句到底是怎么执行的呢?

首先要明白这个语句是由客户端向服务器发送的,那么服务器中是由负载均衡(Nginx)接收后分配给到了Tomcat,其次Tomcat才会从mysql中捞取数据

下面说下mysql中到底是怎么的运行规则,上图:

技术分享图片

 

 通过这个图大家应该可以看出基本的步骤了,下面详细说下

1、客户端发起一个查询请求后会经过连接器和mysql进行连接

2、查询缓存,如果在缓存中查找到了数据那么就会直接返回,如果没有查询到,那么就会到解析器,这里说明下缓存中的数据,只要表一更新,那么缓存中的数据就会清空

3、解析器会对这条sql语句进行解析,判断是否有语句错误,如果错误则返回错误,如果正就到优化器

4、经过了解析器之后,mysql就知道你想要怎么做了,那么就会到优化器中进行优化,具体怎么执行才会更加高效,比如表中有哪些索引,应该怎么用这些索引,多表连接查询的表顺序等

5、通过优化器之后,就会到执行器,执行器就会检查权限,如果权限不通过则会返回对应错误,其次会想搜索引擎索要数据,返回的数据如果设置的缓存那么就会放到缓存中

 

以上就是整个的搜索过程了,欢迎各位同行指正

 

MySQL中的语法怎么执行的

原文:https://www.cnblogs.com/LCboss/p/13095508.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!