架构与存储引擎
MySQL 整体架构 ⭐⭐⭐⭐⭐
架构图解
┌──────────────────────────────────────────────────────────────────────────────┐
│ 客户端层 │
│ (MySQL Client / JDBC / Python等) │
└────────────────────────────────┬─────────────────────────────────────────────┘
│ TCP/IP、Socket
▼
┌──────────────────────────────────────────────────────────────────────────────┐
│ Server 层 │
│ (与存储引擎无关的通用功能) │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 1. 连接器 (Connector) │ │
│ │ - 管理连接、权限验证 │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 2. 查询缓存 (Query Cache) - MySQL 8.0 已移除 │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 3. 分析器 (Analyzer) │ │
│ │ - 词法分析、语法分析 │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 4. 优化器 (Optimizer) │ │
│ │ - 执行计划生成、索引选择、JOIN 顺序优化 │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 5. 执行器 (Executor) │ │
│ │ - 权限检查、调用存储引擎接口 │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────┬─────────────────────────────────────────────┘
│ 存储引擎 API
▼
┌──────────────────────────────────────────────────────────────────────────────┐
│ 存储引擎层 │
│ (插件式架构,可替换) │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ InnoDB │ │ MyISAM │ │ Memory │ │ Archive │ │
│ │ (默认引擎) │ │ (已不推荐) │ │ (内存表) │ │ (归档表) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │
└────────────────────────────────┬─────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────────────┐
│ 文件系统 │
│ 数据文件(.ibd)、日志文件(redo/undo/binlog) │
└──────────────────────────────────────────────────────────────────────────────┘Server 层组件详解
1. 连接器
2. 查询缓存(已废弃)
3. 分析器
4. 优化器 ⭐⭐⭐⭐⭐
5. 执行器
InnoDB 存储引擎 ⭐⭐⭐⭐⭐
InnoDB 核心特性
特性
说明
InnoDB 内存结构
InnoDB 磁盘结构
InnoDB 数据页结构
存储引擎对比 ⭐⭐⭐⭐
InnoDB vs MyISAM
特性
InnoDB
MyISAM
InnoDB vs Memory
特性
InnoDB
Memory
如何选择存储引擎 ⭐⭐⭐
决策流程
查看和修改存储引擎
面试要点 ⭐⭐⭐⭐⭐
高频问题
常见误区
参考资料
Last updated