MySQL分层架构与运行机制详解

一、MySQL 分层架构

​MYSQL的总体架构可以分为三层,分别是客户端层、服务层、存储引擎层(这里有的人喜欢拆分成两个单独的存储引擎层和文件系统层,但因为它们是相互交互的,各自的存储引擎有不同的交互方式,所以我划分为一层)。

MySQL分层架构与运行机制详解_第1张图片

连接层:

主要工作是为了建立与客户端的连接,校验用户的访问权限。

服务层:

这一层由多组件组成,如下图所示。

MySQL分层架构与运行机制详解_第2张图片

  • SQL Interface(sql接口):用于接受sql并返回处理结果,可以理解为接口的提供者,相当于它提供了一种规范,其它组件只要根据它提供的参数返回约定好的处理结果;
  • Parser(语法解析器):根据词法解析和语法解析把sql语句拆分层一个语法树。当mysql没有走缓存的话,就会进入词法分析器。它的作用是分析当前语句是查的操作还是增删改的操作,以及有没有语法错误,以及where,order by,group by等关键字;
  • Optimizer(优化器):将解析树进行分析,算出一份或多份执行计划,再根据底层算法选择最优的执行计划(该执行计划不一定是最优计划)。优化器顾名思义就是用来

你可能感兴趣的:(关系型数据库,非关系型数据库,文件存储,分布式网络存储,架构)