- 001入门本课程使用指南(先读这里)零基础学习 MySQL 的正确姿势:必读/选读/进阶分层、学习路线与预期时间。
- 002入门学习路线图:四周入门与全模块地图MySQL 四周零基础时间线与全模块主题地图:每周学什么、读哪些文档、如何验收,以及入门之后按方向选路的完整索引。
- 003入门术语表(零基础版)前几周必然遇到的高频术语,一句话大白话解释,不追求严谨只求可理解。
- 004入门SQL 沙箱练习一个随时可跑的示例表与 10 个由易到难的练习 SQL,第一周常驻使用。
- 005入门MySQL 概述与数据库设计MySQL 发展历程、体系结构与数据库设计范式。
- 006入门MySQL 环境搭建MySQL 安装、配置、启动与客户端工具使用。
- 007入门MySQL 数据类型与约束:给充电桩网络建第一张表从零设计一张充电桩表:每个字段为什么选这个类型、约束怎样在坏数据进门时就把它拦下,亲手触发 1048/1062/3819 真实报错,并带走金额用 DECIMAL、时间看 2038、外键要不要建这三条决策原则。
- 008入门约束与完整性:让坏数据在门口被拦下六大约束的完整机制——NOT NULL 与 DEFAULT 的语义分工、UNIQUE 的联合写法、CHECK 的 8.0.16 版本坑与 ERROR 3819、主键三条纪律、外键 RESTRICT/CASCADE/SET NULL 三态级联实验(vocaloid 三公司场景);enum/check 双写法与身份证 regexp 校验两个实战案例,附遮代码自检练习。
- 009中级SQL 数据定义高级(DDL 实战)库与表的 CREATE/ALTER/DROP 全套命令、六类索引的建法、七种约束落地;区分 DROP/TRUNCATE/DELETE,配动手建库建表练习。
- 010入门DML 数据操作语言:INSERT、UPDATE、DELETE 的完整语法以 players 排行榜表讲透 MySQL 写操作:多行 INSERT、INSERT SET、UPSERT 预告、事务防误操作、DELETE 与 TRUNCATE 的回滚代价与影响行数读法,附 1136/1048 真实报错调试。
- 011中级SQL 数据操作与查询:把一张排行榜表管起来用游戏排行榜的完整生命周期串起 INSERT/SELECT/UPDATE/DELETE:建表脚本、批量插入、带条件更新、事务防误操作、聚合统计,附真实报错调试与梯度练习。
- 012入门批量导入导出:LOAD DATA INFILE 与 INTO OUTFILE服务器侧批量数据搬运——LOAD DATA INFILE 的字段/行分隔与字符集参数、SELECT INTO OUTFILE 导出、secure_file_priv 三种取值的限制、mysqlimport 命令行包装、大文件与乱码排障;运营日批 CSV 灌订单表、vocaloid 四表造数改造、导出报表给下游三个工程场景,附遮代码自检练习。
- 013入门DQL 数据查询语言:把 SELECT 的每个子句讲透以 players 排行榜表讲透 SELECT:WHERE 筛选、LIKE 模糊匹配、IN/BETWEEN、IS NULL、ORDER BY 多列排序、LIMIT 分页、DISTINCT 去重与 GROUP BY 聚合入门,附 1054/1055 真实报错与执行顺序心法。
- 014入门用户变量与动态 SQL:PREPARE/EXECUTE 三步曲SQL 级的变量与动态语句——@用户变量与 := 赋值、SET 与 SELECT 中的赋值差异、PREPARE/EXECUTE/DEALLOCATE 三步、动态 ORDER BY 与行转列透视两个经典案例、与存储程序及应用层参数化的分工边界;附「用户变量求值顺序不保证」的头号坑与遮代码自检练习。
- 015中级SQL 函数与高级查询聚合函数、窗口函数、子查询与公用表表达式。
- 016中级多表联查详解用充电桩运营数据掌握 MySQL 多表联查:内连接、外连接与 LEFT JOIN 找孤儿行、同城配对的自连接、三表联查与行数膨胀的根源。
- 017进阶进阶查询与多表操作在充电桩多表数据上完成进阶查询:分组聚合与 GROUP_CONCAT、子查询、CTE 与递归 CTE 主线,窗口函数仅留最小样板并桥接 152 方言专篇,全部基于 MySQL 8.4。
- 018入门窗口函数:MySQL 8.0 方言与工程落地窗口函数的 MySQL 实现专篇——8.0 引入版本与能力边界、排名三兄弟的 MySQL 行为、ROWS/RANGE 帧语法支持范围与限制、EXPLAIN 中的窗口表现(derived 表与 filesort)、命名窗口复用、组内 Top-N 与每公司作品最多的歌姬实战,通用概念与 016-sql 两篇专篇分工互链,附遮代码自检练习。
- 019入门视图:虚拟表与权限的守门人MySQL 视图从零到工程化:创建替换与列别名、CHECK OPTION 的写入守卫、DEFINER/INVOKER 安全上下文、视图的四类适用场景与性能边界。
- 020入门字符集与排序规则:中文与 emoji 的头号坑MySQL 字符集体系一次讲透:utf8 与 utf8mb4 的历史坑、四级配置的继承规则、排序规则 ai_ci 后缀解读、乱码与索引失效两类经典事故。
- 021中级MyISAM 存储引擎MySQL MyISAM存储引擎:非事务表级锁、静态/动态行格式、全文索引、修复与适用场景
- 022中级Memory 存储引擎:内存表的能力与陷阱Memory 引擎全景:纯内存存储与重启即失的交换律、哈希索引与 B+ 树的选择、表级锁的并发含义、以及 8.0 临时表改用 TempTable 后的真实定位。
- 023进阶NDB Cluster:把分布式做进存储引擎NDB Cluster 的架构与取舍:三类节点分工、同步复制与自动分片、SQL 节点与数据节点分离的意义,以及与 InnoDB Cluster 的选型对照。
- 024进阶聚簇索引与二级索引:InnoDB 里表就是一棵 B+ 树以外卖骑手调度系统的订单表为练习场,理解"InnoDB 表本身就是聚簇索引"这件事:主键怎么选、二级索引为什么只存主键、回表的代价从哪来,并用覆盖索引与延迟关联把慢查询救回来。
- 025中级联合索引与最左前缀:B+ 树的排序魔法联合索引的完整推理:B+ 树多列排序结构、最左前缀匹配规则、范围列截断、ORDER BY 利用与索引列顺序设计法。
- 026中级前缀索引:长字符串列的空间优化术理解前缀索引为什么能省空间、如何用选择性科学地挑选前缀长度、它牺牲了什么能力,以及在邮箱与 URL 列上的完整实战。
- 027中级索引条件下推 ICP:把过滤推到引擎层用一次回表成本的故事讲透 Index Condition Pushdown:没有 ICP 时过滤发生在哪、ICP 把什么推到了哪里、EXPLAIN 里如何确认,以及它与覆盖索引的边界。
- 028中级全文索引MySQL全文索引:FULLTEXT索引创建、自然语言模式、布尔模式、n-gram解析器与中文分词
- 029中级索引提示与强制索引:什么时候该替优化器做决定USE INDEX、FORCE INDEX、IGNORE INDEX 三种提示的正确用法:优化器为什么会选错索引、三种提示的语义差异、作为临时止血手段的完整流程与戒断原则。
- 030中级不可见索引:安全删除索引的唯一姿势INVISIBLE 关键字的完整使用法:索引维护成本从哪来、为什么直接删除是高危操作、不可见索引如何把删除变成可回滚的灰度实验。
- 031中级函数索引:给表达式建索引MySQL 8.0.13 函数索引:为什么对列套函数会废掉索引、函数索引如何救、隐藏列原理、与虚拟生成列方案的对比与选型。
- 032中级索引统计信息与直方图:优化器的眼镜优化器靠什么估算成本:统计信息的采样机制、过时统计引发的执行计划抖动、ANALYZE TABLE 的正确用法、8.0 直方图解决数据倾斜的原理与实战。
- 033进阶索引失效场景MySQL索引失效场景全解:函数操作、隐式转换、隐式字符集、LIKE前缀、OR条件、联合索引断裂、排序失效与函数索引解法
- 034中级EXPLAIN 逐列读懂:执行计划是查询的体检报告以「测试库 5 毫秒、生产 5 秒」引入:逐列读懂 EXPLAIN 的 type 优劣阶梯、key/rows/filtered 读法与 Extra 关键信号,附全表扫描三步定位与误读清单。
- 035进阶执行计划与索引联动:优化器为什么这么选深水区专题:优化器的成本两要素、索引失效六大现场的失效与修复 SQL 对照、force index 的使用边界、EXPLAIN ANALYZE 实测与树状执行计划。
- 036入门系统库与可观测:INFORMATION_SCHEMA、Performance Schema 与 sysMySQL 可观测三件套——INFORMATION_SCHEMA 的元数据与锁等待查询、Performance Schema 的事件表与语句摘要、sys 视图三问(谁锁了谁、谁在吃 IO、哪条 SQL 最贵);与死锁排查、慢日志形成工具链,附遮代码自检练习。
- 037中级慢查询日志:性能优化的起点慢查询日志从零到一:阈值参数、mysqldumpslow 与 pt-query-digest 分析、EXPLAIN 分析闭环,以及长连接环境下的采样陷阱与生产配置建议。
- 038进阶优化器追踪:看透执行计划选择的全过程OPTIMIZER_TRACE 的诊断方法:开启与读取、追踪输出的三大阶段、代价估算逐项分析、"为什么不用这个索引"的终极答案。
- 039进阶子查询优化:半连接与改写艺术MySQL 子查询的优化器内幕:半连接四种策略、物化机制、IN 与 EXISTS 的真相、关联子查询的窗口函数与 JOIN 改写法。
- 040进阶派生表优化:合并、物化与 LATERALFROM 子查询的优化器行为:合并与物化两条路线的条件、derived_merge 开关、LATERAL 派生表的正确用法与性能调优检查单。
- 041进阶GROUP BY 与 ORDER BY 优化:告别 filesort分组与排序的索引化路径:三种索引扫描策略(松散/紧凑/索引分组)、filesort 的单双路与内存机制、组合查询的临时表成因与设计检查单。
- 042进阶JOIN 算法从一次联查从 30ms 恶化到 12s 的排查出发,讲透 MySQL 的 Nested Loop 与 Hash Join:执行计划怎么读、驱动表怎么选、join_buffer_size 起什么作用。
- 043进阶索引原理与性能优化索引结构、覆盖索引、最左前缀与查询调优。
- 044进阶InnoDB 体系架构InnoDB存储引擎架构:聚簇索引、自适应哈希、变更缓冲、双写缓冲、事务日志、MVCC与Buffer Pool深度解析
- 045进阶事务隔离级别底层实现MySQL InnoDB隔离级别底层实现:MVCC快照读与锁当前读的分工、Read View可见性、RC/RR/SERIALIZABLE差异与幻读处理
- 046进阶MVCC 原理:读写不互相阻塞是怎样实现的以「在线商店白天改价、用户随时能看」引入:快照读与锁读的分野、隐藏字段与 undo log 版本链、ReadView 四字段与可见性四条规则的逐步推演,附 Purge 观测与长事务排查实录。
- 047进阶MVCC 快照读与当前读:同一规则为何推出两种结果深水区专题:同一张版本链上 RC 与 RR 的两条时间线推演、快照读下幻读为何不存在而当前读为何仍需间隙锁、当前读语句清单与双会话复现实验。
- 048进阶锁分类:从全局锁到临键锁的全景图InnoDB 锁体系一次理清:全局/表级/行级三层结构、MDL 阻塞链事故、意向锁兼容矩阵、间隙锁与临键锁的防幻读机制,以及每个锁的生产事故场景。
- 049中级事务与锁机制在两个终端里亲手复现并发扣费翻车,掌握事务与锁的动手层:隔离级别实测、FOR UPDATE 悲观锁、乐观锁、死锁复现与长事务排查。
- 050进阶间隙锁与临键锁解决幻读MySQL InnoDB 间隙锁(Gap Lock)与临键锁(Next-Key Lock)详解:锁结构、加锁规则、幻读解决方案与死锁分析。
- 051进阶死锁检测与处理MySQL InnoDB死锁检测与处理:等待图算法、死锁日志解读、data_locks与sys.innodb_lock_waits锁排查、预防策略与重试
- 052进阶二进制日志 binlog:复制的血脉与恢复的底气binlog 全景:与 redo log 的本质分工、三种格式与 ROW 为王的原因、关键参数(sync_binlog/expire)、内部两阶段提交、恢复与清理实战。
- 053进阶重做日志MySQL InnoDB重做日志redo log:WAL机制、日志缓冲、LSN与Checkpoint、崩溃恢复与8.0.30后容量配置
- 054进阶撤销日志MySQL InnoDB撤销日志undo log:版本链、回滚段与undo表空间、MVCC支持、Purge机制与长事务治理
- 055进阶Redo 与 Undo 与 Binlog 写入时机MySQL InnoDB Redo Log、Undo Log 与 Binlog 的写入时机、写入顺序与崩溃恢复机制。
- 056进阶两阶段提交MySQL InnoDB 两阶段提交(2PC)机制详解:保证 Redo Log 与 Binlog 一致性、崩溃恢复流程与XA事务。
- 057进阶分布式事务:XA 两阶段提交与它的替代品跨库事务的完整图谱:XA 协议与两阶段提交的角色分工、MySQL XA 语法实操、协调者单点与锁定放大两大死穴、以及本地消息表/Saga/TCC 三条务实替代路线。
- 058中级日志系统MySQL日志系统:错误日志、通用查询日志、慢查询日志的配置、查看与运维
- 059中级逻辑备份MySQL逻辑备份:mysqldump选项与一致性备份、MySQL Shell util.dumpInstance并行导出、mysqlpump移除与恢复流程
- 060进阶物理备份MySQL物理备份:Percona XtraBackup原理与增量备份、内置Clone插件、MySQL Enterprise Backup对比与选型