抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

我们在使用 MySQL 的时候只是停留在表层我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的执行。下方是 MySQL 的基本架构示意图。


大体来说,MySQl 分为 Server 层和存储引擎层
Server 层主要包含:
  1. 连接器: 管理连接、权限验证

  2. 查询缓存: 命中则返回结果(8.0 之后删除这个过程)

  3. 分析器: (要做什么)词法分析、语法分析

  4. 优化器: (该怎么做)优化器是在表里面有多个索引的时候,决定使用哪个索引;或者在一个语句有多表关联(join)的时候,决定各个表的连接顺序。

  5. 执行器: 操做引擎,返回结果

Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。

存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB,它从 MySQL5.5.5 版本开始成为了默认存储引擎。

评论