MySQL架构与存储引擎概述
MySQL采用插件式存储引擎架构,将查询处理与数据存储分离。
整体架构
MySQL架构分为四层:
| 层级 | 功能 |
|---|---|
| 连接层 | 连接管理、认证、线程池 |
| 服务层 | SQL解析、优化、缓存、内置函数 |
| 存储引擎层 | 数据存储、索引管理、事务处理 |
| 文件系统层 | 物理文件存储 |
SQL
┌─────────────────────────────────────┐
│ 连接层 │
├─────────────────────────────────────┤
│ 服务层 │
├─────────────────────────────────────┤
│ 存储引擎层(可插拔) │
├─────────────────────────────────────┤
│ 文件系统层 │
└─────────────────────────────────────┘
存储引擎概念
存储引擎是MySQL中负责数据存储和提取的底层组件。
核心职责
- 数据文件的物理存储结构
- 索引的组织与实现
- 事务的ACID保证
- 锁机制与并发控制
查看可用引擎
SQL
SHOW ENGINES;
查看当前表引擎
SQL
SHOW TABLE STATUS LIKE '表名';
指定存储引擎
text
CREATE TABLE t1 (id INT) ENGINE=InnoDB;
ALTER TABLE t1 ENGINE=MyISAM;
插件式架构优势
- 灵活选择:不同表可使用不同引擎
- 功能定制:按需选择事务/非事务引擎
- 性能优化:针对场景选择最优引擎
存储引擎是表级别的概念,同一数据库不同表可使用不同引擎。
要点总结
- MySQL采用分层架构,存储引擎可插拔
- 存储引擎决定表的存储方式、索引结构、事务支持
- 通过
SHOW ENGINES查看支持的引擎 - 根据业务需求选择合适的存储引擎
📝 发现内容有误?点击此处直接编辑