> MySQL 是世界上最流行的开源关系型数据库,由 Oracle 维护。以高性能、高可靠、易部署著称,是 Web 应用的首选数据库。 > InnoDB 存储引擎(默认)支持事务、外键、行级锁,是生产环境的标准选择。 > > ⚠️ 版本说明:本文以 MySQL 8.0 为基准。8.0 相比 5.7 引入了窗口函数、CT…
2026-05-26
> MySQL 数据类型与 Java 类型的完整映射手册,涵盖整数、浮点、字符串、日期、二进制等所有类型,以及 MyBatis 特殊映射和常见踩坑点。 MySQL 系列:MySQL 简介 · MySQL 数据库设计规范 · MySQL 索引原理与优化 --- 整数类型 | MySQL 类型 | 字节 | 有符号范围 |…
2026-05-26
> 一条 SQL 从发出到返回结果,经历了哪些组件、做了什么?本文以 Server 层 + 存储引擎层为主线,拆解 MySQL 逻辑架构及查询/更新语句的完整执行路径。 --- 目录 | 章节 | 说明 | |------|------| | 整体架构 | Server 层与存储引擎层的分工 | | 查询语句执行流程 …
2026-05-26
> InnoDB 用 WAL(Write-Ahead Logging)机制实现高性能写入和 crash-safe 能力,核心是 redo log(物理日志)和 binlog(逻辑日志)的协作,两者通过两阶段提交保持一致。 --- 目录 | 章节 | 说明 | |------|------| | WAL 机制 | 先写日…
2026-05-26
> 从事务隔离级别的现象出发,深入 InnoDB MVCC 的实现原理,解释"为什么可重复读下同一查询结果不变,但当前读(for update)却能看到最新数据"这个核心疑惑。 --- 目录 | 章节 | 说明 | |------|------| | 四种隔离级别 | 现象对比与适用场景 | | MVCC 实现原理 |…
2026-05-26
> 从索引数据结构出发,讲清 InnoDB B+ 树索引的工作原理,覆盖"为什么要用覆盖索引"、"什么时候会选错索引"、"字符串字段如何建索引"等高频实战问题。 --- 目录 | 章节 | 说明 | |------|------| | 索引模型对比 | 哈希表、有序数组、B 树的适用场景 | | InnoDB B+ 树…
2026-05-26
> 系统梳理 MySQL 锁的分类(全局锁/表锁/行锁)及 InnoDB 加锁规则,重点解析 Next-Key Lock 的锁范围计算,帮助排查死锁和锁等待问题。 --- 目录 | 章节 | 说明 | | ---------…
2026-05-26
> 覆盖 MySQL 常见性能问题的排查思路:从 MySQL"抖一下"的根因(脏页刷盘)、表数据删了大小不变(空洞)、count() 慢、order by 慢查询,到单行查询也慢的隐藏问题。 --- 目录 | 章节 | 说明 | |------|------| | MySQL 为什么会"抖" | 脏页刷盘(flush)…
2026-05-26
> 梳理 MySQL 主备复制的工作原理、备库延迟的根因与解决方案、主库故障切换的流程,以及读写分离的正确姿势。 --- 目录 | 章节 | 说明 | |------|------| | 主备复制原理 | binlog 同步流程,三种 binlog 格式的影响 | | 双主结构与循环复制 | 互为主备的配置与防循环机制…
2026-05-26
> 汇总 MySQL 日常开发中的关键实战技巧:join 该不该用、临时表的作用、Memory 引擎的特殊行为、自增主键为什么不连续、误删数据如何恢复,以及分区表的利弊。 MySQL 系列:MySQL 简介 · MySQL 锁机制 · MySQL 性能问题排查 · MySQL 事务与 MVCC --- 目录 | 章节 …
2026-05-26