MySQL 体系架构详解:Server 层、SQL 执行流程与 InnoDB、MyISAM、MEMORY 存储引擎
- MySQL 体系架构详解:Server 层、SQL 执行流程与 InnoDB、MyISAM、MEMORY 存储引擎
- 前言
- MySQL 的整体体系架构是什么?
- MySQL Server 层包含哪些核心组件?
- Connectors 是什么?
- MySQL 连接管理负责什么?
- 如何查看 MySQL 当前连接?
- MySQL 长连接和短连接有什么区别?
- 1. 短连接
- 2. 长连接
- MySQL 空闲连接多久会断开?
- mysql_reset_connection() 有什么作用?
- Management Service & Utilities 是什么?
- SQL Interface 是什么?
- Parser 是什么?
- 为什么 SQL 写错会提示 syntax error?
- Optimizer 是什么?
- Optimizer 会决定哪些事情?
- 一条 SELECT SQL 在 MySQL 中大致如何执行?
- Parser
- Optimizer
- Storage Engine
- MySQL Query Cache 是什么?
- 为什么 MySQL 8.0 删除了 Query Cache?
- 什么是 MySQL 存储引擎?
- 如何查看 MySQL 支持哪些存储引擎?
- MyISAM 存储引擎是什么?
- MyISAM 为什么不适合事务业务?
- MyISAM 的锁有什么特点?
- MyISAM 有哪些主要特点?
- MyISAM 适合什么场景?
- MySQL 默认存储引擎是什么?
- MEMORY 存储引擎是什么?
- MEMORY 表在 MySQL 重启后会怎样?
- MEMORY 适合什么场景?
- InnoDB 存储引擎是什么?
- InnoDB 为什么适合事务系统?
- InnoDB 的锁有什么特点?
- InnoDB 是否支持外键?
- InnoDB 如何处理不可重复读和幻读问题?
- InnoDB、MyISAM、MEMORY 有什么区别?
- 为什么 MySQL 要设计可插拔存储引擎?
- Server 层和 InnoDB 有什么区别?
- 为什么理解 MySQL 架构有助于 SQL 优化?
- 常见误区
- 1. MySQL 就是 InnoDB 吗?
- 2. MySQL 8.0 还有 Query Cache 吗?
- 3. MyISAM 查询快,所以应该优先使用吗?
- 4. MEMORY 表重启后整张表都会消失吗?
- 5. 数据库长连接一定比短连接好吗?
- FAQ:MySQL 体系架构常见问题
- MySQL 体系架构主要分为哪两部分?
- MySQL Parser 是做什么的?
- MySQL Optimizer 是做什么的?
- MySQL 8.0 为什么删除 Query Cache?
- MySQL 默认存储引擎是什么?
- InnoDB 和 MyISAM 最大区别是什么?
- InnoDB 和 MEMORY 最大区别是什么?
- 如何查看 MySQL 当前连接?
- 如何查看表使用什么存储引擎?
- 如何查看 MySQL 支持哪些存储引擎?
- 记住 MySQL 体系架构
- 总结
MySQL 体系架构详解:Server 层、SQL 执行流程与 InnoDB、MyISAM、MEMORY 存储引擎
前言
很多开发者学习 MySQL 时,最先接触的是:
SELECTINSERTUPDATEDELETE但一条 SQL 从客户端发送到 MySQL 后,并不是直接去磁盘读取数据。
MySQL 内部需要经历连接管理、SQL 解析、查询优化、执行计划选择、存储引擎访问等多个过程。
从整体设计上看,MySQL 服务端可以理解为两大核心部分:
Server 层负责连接管理、SQL 解析、查询优化和执行协调;存储引擎层负责数据和索引的实际存储与读取。
可以先建立这样一个整体认识:
理解这套架构,是继续