mysql的架构图(连接层,服务层,引擎层,存储层)
2023-09-27 14:22:13 时间
一 mysql的架构图
1.1 架构图
1.连接层:最上层是一些客户端和连接服务,包含本地 sock 通信和大多数基于客户端/服务端工具实现的类似于 tcp/ip 的 通信。
2.服务层:一些sql接口,解析器(parser),优化器(optimizer),缓存(caches或者buffers)
3.存储引擎:存储引擎层,存储引擎真正的负责了 MySQL 中数据的存储和提取,服务器通过 API 与存储引擎进行通信。
4.数据存储层,主要是将数据存储在运行于裸设备的文件系统之上,并完成与存储引擎的交互
二 执行流程
2.1 mysql的执行流程
mysql
的查询流程大致是:
1.mysql 客户端通过协议与 mysql
服务器建立连接,
发送查询语句,先检查查询缓存
,如果命中,直接返回结果,将缓存中的结果返回给用户即可,这将大大提高系统的性能。
2.如果没有命中:解析,预处理,优化
2.1 语法解析器和预处理:首先
mysql
通过关键字将
SQL
语句进行解析,并生成一颗对应的“解析树”。
2.2 mysql
解析器将使用 mysql 语法规则验证和解析查询,
2.3 预处理器则根据一些
mysql
规则进一步检查解析数是否合法。
2.4 优化器:优化器将解析树被认为是合法的sql,将其转化成执行计划。一条查询可以有很多种执行方式,
优化器的作用就是找到这其中最好的执行计划
。
三 存储引擎比较
3.1 查看引擎
1.查看引擎
show variables like '%storage_engine%'
3.2 存储引擎的比较
1.存储引擎比较
相关文章
- 【MySQL从入门到精通】【高级篇】(六)MySQL表的存储引擎,InnoDB与MyISAM的对比
- Java业务系统是怎么和MySQL交互的?
- Materialize MySQL引擎:MySQL到Click House的高速公路
- [数据库]MYSQL之InnoDB存储引擎 VS MYISAM存储引擎
- MySQL常用存储引擎功能与用法详解
- 2022-10-12 mysql列存储引擎-DimensionGroupVirtual::Clone的使用分析
- 2023-05-08 mysql列存储引擎-union all与给返回值赋值集合出错-问题分析
- 2022-12-12 mysql列存储引擎-CW慢SQL4-对比mysql8.0-记录
- 2022-11-29 mysql列存储引擎-主键索引-自增方式与INNODB不一致-追踪
- 2022-11-18 mysql列存储引擎-assert failed on i < m_idx.size() at rc_attr.h:342-问题分析
- 2022-11-14 mysql列存储引擎-subquery中出现聚合函数导致宕机-问题记录及分析
- 2022-11-04 mysql列存储引擎-自定义函数-派生表-问题排查
- 2022-09-26 mysql列存储引擎-多表JOIN查询慢-问题定位
- 2022-09-09 mysql列存储引擎-tianmu_ini_allowmysqlquerypath参数开启后的异常记录
- 2022-09-09 mysql列存储引擎-POC-需求分析-第二版-有问题的SQL
- MySQL:存储引擎