一、MySQL逻辑架构
1.Connectors
- Connectors,指的是不同语言中与SQL的交互。
2. 连接层
- 最上层是客户端的连接服务,采用 TCP/IP,该层有一个 线程池 ,每一个连接从线程池中获取线程,省去了创建和销毁线程的开销。
3.服务层
第二层架构主要完成大多数的核心服务功能,如SQL接口,并完成缓存的查询,SQL的分析和优化及部分内置函数的执行。
- Management Serveices & Utilities: 系统管理和控制工具
- SQL Interface: SQL接口
- 接收用户的SQL命令,并且返回用户需要查询的结果。
- Parser: 解析器
- 对 SQL 语句进行语法分析、语义分析。
- Optimizer: 查询优化器
- SQL语句在语法解析之后、查询之前会使用查询优化器确定 SQL 语句的执行路径,生成一个
执行计划 。
- SQL语句在语法解析之后、查询之前会使用查询优化器确定 SQL 语句的执行路径,生成一个
- Caches & Buffers: 查询缓存组件
- 以key-value的方法缓存查询结构
4.引擎层
- 真正的负责了MySQL中数据的存储和提取
5.存储层
- 文件系统(主要是表数据),日志文件
二、SQL执行流程
SQL执行流程