加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

了解MySQL查询语句执行过程

发布时间:2021-04-11 15:58:05 所属栏目:传媒 来源:互联网
导读:整张图由三部分组成,从上到下分别是客户端(紫色)、MySQL Server层(绿色)、MySQL存储引擎层(黄色)。 客户端不言而喻,主要负责与MySQL Server层建立连接,发送查询请求以及接受响应的结果集。 MySQL Server层,主要包括连接器、查询缓存、分析器、优化器、执

整张图由三部分组成,从上到下分别是客户端(紫色)、MySQL Server层(绿色)、MySQL存储引擎层(黄色)。

  • 客户端不言而喻,主要负责与MySQL Server层建立连接,发送查询请求以及接受响应的结果集。
  • MySQL Server层,主要包括连接器、查询缓存、分析器、优化器、执行器等。这些组件包含了MySQL的大部分主要功能,例如平时使用最多的存储过程、触发器、视图都在这一层中。还有一个通用的日志模块 bin log。
  • MySQL 存储引擎层,主要负责数据的存储和提取。其支持多个存储引擎,例如:InnoDB、MyISAM等。常用的有InnoDB,它从MySQL 5.5.5版本开始成为了MySQL的默认存储引擎,重要的是InnoDB 引擎包含了自带的日志模块 redo log,这个在后面讲述更新语句的时候会着重提到。

上面介绍了MySQL的组件结构,那么这里将其处理SQL语句的流程简单梳理一遍,之后再对每个组件逐一进行介绍。如图2 所示,在图1 的基础上加上了流程处理的编号,顺着编号来看看MySQL的各各组件是如何处理SQL查询请求的。

1. 连接器:当客户端登陆MySQL的时候,对身份认证和权限判断。

2. 查询缓存: 执行查询语句的时候,会先查询缓存(MySQL 8.0 版本后移除)。

3. 分析器: 假设在没有命中查询缓存的情况下,SQL请求就会来到分析器。分析器负责明确SQL要完成的功能,以及检查SQL的语法是否正确。

4. 优化器:为SQL提供优化执行的方案。

5. 执行器: 将语句分发到对应的存储引擎执行,并返回数据。

MySQL组件定义

下面通过一张大图将SQL执行流程进行了梳理,这里将对应的组件进行详细

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读