目录
3、更改缓存(change buffer)的意义到底在哪里?
1、MySQL体系结构
-
MySQL 的体系结构包含连接层、服务层、存储引擎层和存储层。
-
连接层负责连接和用户身份验证。
-
服务层处理 SQL 语句的解析、优化和缓存。
-
存储引擎层负责数据的存储和检索,不同存储引擎有不同特性。
-
存储层是数据的物理存储基础。
-
这种分层结构提供了 MySQL 的灵活性、可扩展性和高性能,适用于各种应用场景。
连接层:处理客户端连接请求,进行用户身份验证,为每个客户端创建连接线程。
服务层:
-
SQL 接口:接收客户端发送的 SQL 语句并转发。
-
查询解析器:对 SQL 语句进行语法和语义分析,将其解析为内部数据结构。
-
查询优化器:为 SQL 语句生成执行计划,根据多种因素选择最优执行路径。
-
查询缓存:缓存查询结果,若有相同查询则直接返回缓存结果,提高性能。
存储引擎层:
-
InnoDB:支持事务、行级锁、外键约束,是 MySQL 5.5 及以后的默认存储引擎,适合高并发和事务处理场景。
-
MyISAM:不支持事务,读操作性能较好,适合只读或更新较少的表。
存储层:负责数据的物理存储,不同存储引擎使用不同文件存储方式,例如 InnoDB 使用 .ibd
和 .frm
文件,MyISAM 使用 .MYD
、.MYI
和 .frm
文件。
交互关系客户端请求经连接层处理后,进入服务层,经过 SQL 接口、解析器、优化器和缓存等组件,由存储引擎层执行存储和检索操作,最终将结果返回给客户端。