菜鸟笔记
提升您的技术认知

MySQL 架构

阅读 : 4281

基于下面的逻辑架构图,可以大致熟悉MySQL各个架构组件之间的协同工作关系

MySQL逻辑架构图

从这张图你可以获取到如下的信息:

(1)mysql架构大致上可以划分为四层。

(2)第一层,主要是不同客户端的连接。

(3)第二层,主要是处理客户端的连接。

(4)第三层,处理客户端的sql语句。

(5)第四层,存储引擎真实的执行sql语句。

mysql体系结构图

查询缓存

在正式查询之前,服务器会检查查询缓存,如果能找到对应的查询,则不必进行查询解析,优化,执行等过程,直接返回缓存中的结果集。

解析器和预处理器

MySQL的解析器会根据查询语句,构造出一个解析树,主要用于根据语法规则来验证语句是否正确,比如SQL的关键字是否正确,关键字的顺序是否正确。

而预处理器主要是进一步校验,比如表名,字段名是否正确等。

查询优化器

查询优化器将解析树转化为查询计划,一般情况下,一条查询可以有很多种执行方式,最终返回相同的结果,优化器就是找到这其中最优的执行计划

执行计划

在完成解析和优化阶段后,MySQL根据相应的执行计划去调用存储引擎层提供的相应接口来获取结果。