|NO.Z.00130|——————————|BigDataEnd|——|Java&MySQL.高级.V02|——|MySQL.v02|逻辑架构|
一、MySQL逻辑架构
### --- mysql逻辑架构
——> 学习 MySQL 就好比盖房子,如果想把房子盖的特别高,地基一定要稳,基础一定要牢固。
——> 学习MySQL 数据库前要先了解它的体系结构,这是学好 MySQL 数据库的前提。
### --- MySQL架构体系介绍
——> MySQL 由连接池、SQL 接口、解析器、优化器、缓存、存储引擎等组成,
——> 可以分为四层,即连接层、 服务层、引擎层和文件系统层。
——> 如下是官方文档中 MySQL 的基础架构图:

### --- 连接层
——> 最上面是一些客户端和连接服务, 不是MySQL特有的,所有基于网络的C/S的网络应用程序都应该包括连接处理、认证、安全管理等。
### --- 服务层
——> 中间层是MySQL的核心,包括查询解析、分析、优化和缓存等。同时它还提供跨存储引擎的功能,包括存储过程、触发器和视图等。
### --- 引擎层
——> 存储引擎层,它负责存取数据。服务器通过API可以和各种存储引擎进行交互。不同的存储引擎具有不同的功能,我们可以根据实际需求选择使用对应的存储引擎
### --- 存储层
——> 数据存储层,主要是将数据存储在运行于裸设备的文件系统之上,并完成与存储引擎的交互
### --- SQL查询流程
——> 我们用一条 SQL SELECT 语句的执行轨迹来说明客户端与 MySQL 的交互过程,如下图所示。
——> 通过客户端/服务器通信协议与 MySQL 建立连接
——> 查询缓存,这是 MySQL 的一个可优化查询的地方,
——> 如果开启了 Query Cache 且在查询缓存过程中查询到完全相同的 SQL 语句,
——> 则将查询结果直接返回给客户端;如果没有开启Query Cache 或者没有查询到
——> 完全相同的 SQL 语句则会由解析器进行语法语义解析,并生成解析树。
——> 预处理器生成新的解析树。
——> 查询优化器生成执行计划。
——> 查询执行引擎执行 SQL 语句,此时查询执行引擎会根据 SQL 语句中表的存储引擎类型,
——> 以及对应的API 接口与底层存储引擎缓存或者物理文件的交互情况,得到查询结果,
——> 由MySQL Server 过滤后将查询结果缓存并返回给客户端。
——> 若开启了 Query Cache,这时也会将SQL 语句和结果完整地保存到 Query Cache 中,
——> 以后若有相同的 SQL 语句执行则直接返回结果。

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv005-mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!