文章
32 篇笔记 · 1 个分类
2026
-
2026/02/01
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 目录定位 模块 目录 SQL ...
-
2026/01/31
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 MySQL 内核学习的目标不是背函数名,而是建立从现象、模块、数据结构到验证方法的完整推理链。 31.1 成长阶段 ...
-
2026/01/30
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 本章用面试问题串起 MySQL 8.0 内核知识,重点展示推理和证据来源。 30.1 SQL 执行路径 问题:请描...
-
2026/01/29
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 性能诊断要先把问题定位到网络、锁、CPU、IO、优化器、执行器或 InnoDB,再用源码解释观测指标。 29.1 诊...
-
2026/01/28
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 Clone Plugin 用于物理克隆本地或远程实例数据,是快速搭建从库和 MGR 成员的常用方式。 28.1 方式...
-
2026/01/27
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 社区 MySQL 8.0 对并行查询的支持有限,聚集计算和多数单条 SELECT 仍以单线程执行为主。并行读取更多出现...
-
2026/01/26
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 MySQL 中“临时表”有三类:用户 TEMPORARY 表、SQL 层内部临时表和存储引擎内部临时结构。它们的生命周...
-
2026/01/25
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 MySQL 8.0 的数据字典支持原子 DDL,使元数据变更要么提交要么回滚。执行层面仍要区分 INSTANT、INP...
-
2026/01/24
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 Group Replication 用分布式一致性协议维护成员视图和事务认证,提供多主或单主高可用方案。它建立在 Bi...
-
2026/01/23
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 MySQL 复制基于 Binlog 传播和重放。主库记录逻辑变更,从库接收 relay log 并由 applier ...
-
2026/01/22
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 InnoDB 的稳定运行依赖后台线程:刷脏、purge、IO、日志、统计和监控。它们决定写入平滑性、恢复速度和延迟抖动...
-
2026/01/21
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 DELETE 和 UPDATE 不一定立即物理删除旧记录。Purge 线程负责清理 delete mark、undo ...
-
2026/01/20
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 InnoDB 锁系统管理表锁、索引记录锁、间隙锁、next-key 锁和插入意向锁,与隔离级别、索引结构和事务顺序密切...
-
2026/01/19
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 Redo log 记录物理页修改,用于崩溃恢复时重做到已提交状态。InnoDB 采用 WAL 思路:先记录日志,再择机...
-
2026/01/18
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 Undo log 记录行的旧版本,用于事务回滚和 MVCC 一致性读。旧版本通过版本链关联,长时间活跃事务会阻止 pu...
-
2026/01/17
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 Change Buffer 优化二级索引写入,AHI 加速热点页内记录定位。两者都受访问模式影响,并非总是有效。 1...
-
2026/01/16
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 Buffer Pool 是 InnoDB 的内存页缓存。脏页、干净页、索引页、undo 页、锁信息和 AHI 都与其生...
-
2026/01/15
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 记录格式决定一行数据在页内如何编码,影响 NULL 处理、变长列、主键生成、页利用率和 SQL 层字段转换。 15....
-
2026/01/14
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 InnoDB 索引本质是 B+Tree。聚簇索引叶子包含完整行记录,二级索引叶子包含索引列和主键。 14.1 结构 ...
-
2026/01/13
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 InnoDB 以表空间管理文件,以页为基本 IO 单位。理解页面布局是理解 B+Tree、Buffer Pool、re...
-
2026/01/12
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 InnoDB 是事务存储引擎,负责页面存储、B+Tree、行操作、事务、锁、MVCC、日志、恢复和后台维护。 12....
-
2026/01/11
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 优化器用代价模型把 IO、CPU、内存和网络估算统一为可比较的成本。代价不是精确时间,而是相对排序依据。 11.1 ...
-
2026/01/10
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 MySQL 8.0 使用事务性数据字典存储表、列、索引、字符集和约束等元数据。Server 层表缓存、MDL 和 In...
-
2026/01/09
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 优化器生成计划后,执行器负责驱动迭代器、调用 handler 接口、计算表达式、执行聚合排序,并处理写入路径。MySQ...
-
2026/01/08
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 优化器决定 SQL 的物理执行方式:使用哪个索引、按什么顺序连接表、是否物化子查询、使用哪种聚合策略。它的目标是基于代...
-
2026/01/07
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 解析树经过语义解析和改写后,才能进入优化器。这个阶段会绑定表和列、展开视图、处理派生表、推导类型,并生成更适合优化的内...
-
2026/01/06
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 Parser 将 SQL 文本转换为解析树。它决定语法是否合法,并保留语句结构供语义解析和优化使用。 6.1 输入输...
-
2026/01/05
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 连接是 SQL 执行的入口。理解连接、线程、会话上下文和调度方式,有助于排查连接风暴、慢查询阻塞和线程资源问题。 5...
-
2026/01/04
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 MySQL 8.0 可以分为 Server 层、存储引擎层、插件、复制和工具链。理解模块边界比记住函数细节更重要。 ...
-
2026/01/03
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 MySQL 源码量大,直接逐行读效率很低。有效方法是问题驱动:从现象入手,建立调用链,再用调试器和测试验证。 3.1...
-
2026/01/02
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 读源码必须能构建和调试。断点、调用栈、变量和测试用例能验证推测,避免把社区博客结论直接套到当前版本。 2.1 环境准...
-
2026/01/01
这是《MySQL 8.0 源码与内核实战》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 MySQL 8.0 源码庞大,但它有清晰的模块边界。读源码的第一步不是逐行阅读,而是建立地图:连接如何进入 Serve...