MySQL逻辑架构
%% 【BUG提醒】如果看到了这句话,说明本网站出现了BUG,请刷新网站即可恢复。
graph TB
subgraph 第一层
客户端A
客户端B
客户端C
客户端D
end
%% 【BUG提醒】如果看到了这句话,说明本网站出现了BUG,请刷新网站即可恢复。
graph TB
subgraph 第二层MySQL核心服务
连接/线程处理-->查询缓存
连接/线程处理-->解析器
解析器-->查询缓存
解析器-->优化器
end
%% 【BUG提醒】如果看到了这句话,说明本网站出现了BUG,请刷新网站即可恢复。
graph BT
subgraph 第三层
a(存储引擎A)
b(存储引擎B)
c(存储引擎C)
d(存储引擎D)
end
第一层:服务不是MySQL独有的,大多数基于网络和客户端/服务器的工具或者服务都有类似的架构。每个客户端连接都会在服务器进程中拥有一个线程。
第二层:大多数MySQL核心服务功能都在这一层,包括查询解析、分析、优化、缓存以及所有的内置函数(例如时间、日期、数学和加密函数等),所有跨存储引擎的功能都在这一层实现(例如存储过程、触发器、视图等)。
第三层:存储引擎。其负责MYSQL中数据的存储和提取。服务器通过API与存储引擎进行通信。存储引擎不会去解析SQL,不同存储引擎之间也不会相互通信,而只是简单地响应上层服务器的请求。