为什么要学 MySQL 内核源码?
-
线上一条 SQL 突然变慢,EXPLAIN 看不透,只能猜测是优化器”抽风” -
想给 MySQL 加一个自定义函数,却不知道从哪里下手 -
读了无数源码分析文章,打开 IDE 依然不知如何断点、如何跟踪 -
面试被问”一条 SELECT 的执行过程”,只能背八股,讲不到代码层面
专栏亮点
围绕可运行的调试场景
-
Parser 如何把 SELECT 1 变成 Item_int 对象 -
Item 树如何递归求值算出 1+2 -
执行器如何一步步拿到数据
覆盖完整执行链路
动手实现真实功能
小步快跑,每讲都有获得感
讲师介绍
-
华中科技大学研究生; -
多年数据库内核开发经验。
适合人群
-
DBA:想突破”只会用”的瓶颈,具备源码级问题排查能力; -
后端开发:希望深入理解数据库底层原理,写出更高效的 SQL; -
数据库内核爱好者:想入门 MySQL 源码,但苦于没有系统路径; -
面试准备者:想在 MySQL 深度问题上与面试官”对等对话”。
前置知识
-
有MySQL基础 -
了解 C/C++ 基础(能读懂函数、类、指针即可,或者会借助AI来了解这些) -
有基础的 Linux 命令行操作能力
专栏目录
|
阶段 |
章节 |
标题 |
|
第一阶段:建立控制感 |
章节 1 |
MySQL 内核全景是怎样的? |
|
章节 2 |
如何编译出一个能Debug的MySQL环境 |
|
|
章节 3 |
用调试器抓住第一条 SQL |
|
|
第二阶段:理解 SQL 如何执行 |
章节 4 |
MySQL 如何把一条 SQL 文本变成内部数据结构? |
|
章节 5 |
一行SQL在内核中经历了什么? |
|
|
章节 6 |
执行器有哪些作用? |
|
|
章节 7 |
日志调试:像侦探一样查找MySQL的运行脚印 |
|
|
第三阶段:实现一个小功能 |
章节 8 |
一起来实现第一个 自定义SQL 函数 |
|
章节 9 |
把你的函数放进MySQL里 |
|
|
章节 10 |
运行: 跑一下看看效果 |
|
|
第四阶段:进入存储引擎 |
章节 11 |
SQL 是怎样进入 InnoDB的? |
|
章节 12 |
尝试修改 InnoDB 的行为 |
|
|
第五阶段:进阶可选 |
章节 13 |
如何查看优化了什么:(EXPLAIN)入门 |
|
章节 14 |
给优化器指路: 简单”改优化器行为” |
|
|
章节 15 |
扩展与总结 |
专栏交流群
-
答疑:每讲配套答疑,调试卡住了?群里直接问 -
同行交流:和同样在啃源码的同学互相启发 -
不定期加餐:根据学员反馈,加讲高频难点

订阅说明
-
形式:图文 -
更新节奏:每周一、三更新 -
有效期:长期有效,可反复学习
小程序:点击跳转
网页端:点击下方阅读原文(iOS用户请使用此方式)。
夜雨聆风