Skip to content

MySQL · 必学内容图

1. 架构与 SQL 执行

MySQL 分层架构:连接器/查询缓存/分析器/优化器/执行器/存储引擎
一条 SELECT / UPDATE 的完整执行旅程
Buffer Pool / Change Buffer / 后台线程等 InnoDB 内存结构
InnoDB 物理存储:页、区、段、表空间、行格式
information_schema / performance_schema / sys 库
show processlist 与连接管理

2. 索引

3. 事务与 MVCC

四种隔离级别与脏读/不可重复读/幻读
MVCC 三件套:隐藏列、undo 版本链、ReadView
RC 与 RR 在 ReadView 生成时机上的区别
RR 下幻读:快照读 vs 当前读

4. 锁

S/X 锁、记录锁/间隙锁/临键锁/意向锁
Next-Key Lock 加锁规则与退化规则
无索引更新锁全表
死锁场景(AB-BA、间隙锁互等)与排查(SHOW ENGINE INNODB STATUS)
死锁预防实践

5. 日志

redo log:WAL、LSN、checkpoint、组提交、崩溃恢复
binlog:Statement/Row/Mixed、复制与归档
两阶段提交与崩溃恢复判定
双 1 参数(sync_binlog / innodb_flush_log_at_trx_commit)

6. 优化 / SQL / 慢查询

SQL 基本功:JOIN、GROUP BY、子查询、EXISTS vs IN
JOIN 算法:NLJ / BNL / Hash Join
慢日志与 pt-query-digest
深分页 / 大偏移量 LIMIT / ORDER BY filesort
优化器统计信息与直方图

7. 主从复制与高可用

binlog 复制原理(dump/IO/SQL 三线程)与 relay log
异步 / 半同步 / 全同步模式
主从延迟排查、并行复制(LOGICAL_CLOCK / WRITESET)
大事务导致延迟
MGR / InnoDB Cluster / 故障切换与 RPO-RTO
MySQL 不适用场景

8. 分库分表

垂直拆分 vs 水平拆分、拆分触发线
分片键设计与基因法
ShardingSphere vs MyCat
扩容迁移(双写/影子表)
分布式事务:XA / TCC / Seata AT

9. 备份与 DDL

逻辑备份 mysqldump vs 物理备份 xtrabackup
全量 + 增量 + binlog 时间点恢复
Online DDL 原理(inplace/instant、copy)
gh-ost / pt-osc 在线变更
大表 DDL 风险

10. 表设计与新特性

范式 vs 反范式
字段类型选型(int/varchar/时间/enum)
NULL 的代价、字符集 utf8mb4
MySQL 8.0:窗口函数、CTE、降序索引、invisible index、原子 DDL
权限模型与安全(授权、SQL 注入防护)

手撕 → 框架 → 生产化,一步步把 AI Agent 工程化搞透。
粤ICP备2026104257号-1