Skip to content

CORE CONCEPTS · 关系型 · Web OLTP

MySQL 核心知识

MySQL 的工程核心是 InnoDB:聚簇索引、二级索引回表、undo/redo、next-key lock 与复制拓扑决定大多数线上行为。

学完应该能做到

  • 掌握 InnoDB 行与索引组织
  • 能定位锁等待和复制延迟
  • 区分 LTS 与 Innovation 版本线

三个必须建立的心智模型

01

InnoDB 存储结构

主键即聚簇索引,二级索引叶子保存主键;主键选择会直接影响所有索引大小。

  • 优先短且稳定的主键
  • 理解覆盖索引与回表
  • 控制大字段和页分裂
02

隔离与锁

默认 Repeatable Read 配合 next-key lock 防止幻读,但范围更新可能扩大锁范围。

  • 用 performance_schema 查看等待
  • 避免无索引更新
  • 把死锁当作可重试的并发信号
03

复制与高可用

binlog、GTID、异步/半同步复制和 Group Replication 构成常见高可用基础。

  • 监控 apply 延迟而非只看连接
  • 校验 failover 后数据一致性
  • 区分读扩展和写扩展

把知识落到工程决策

建模前

先写出访问模式、正确性边界、数据生命周期和故障预算,再决定表、键、索引或分区。

上线前

使用接近生产的数据分布与并发压测,记录查询计划、资源水位和恢复时间作为基线。

运行中

监控延迟分位数、容量增长、后台维护与复制健康;报警必须能映射到可执行处置步骤。

Released under the MIT License.