授人以鱼不如授人以渔,从根儿上理解 MySQL,让 MySQL 不再是一个黑盒。
* 万里长征第一步(非常重要!非常重要!非常重要!此处省略一万遍) —— 如何愉快的阅读本小册
* 装作自己是个小白 —— 重新认识MySQL
* MySQL的调控按钮 —— 启动选项和系统变量
* 乱码的前世今生 —— 字符集和比较规则
* 从一条记录说起—— InnoDB 记录结构
* 盛放记录的大盒子 —— InnoDB 数据页结构
* 快速查询的秘籍 —— B+ 树索引
* 好东西也得先学会怎么用 —— B+ 树索引的使用
* 数据的家 —— MySQL 的数据目录
* 存放页面的大池子 —— InnoDB 的表空间
* 条条大路通罗马 —— 单表访问方法
* 两个表的亲密接触 —— 连接的原理
* 谁最便宜就选谁 —— MySQL 基于成本的优化
* 兵马未动,粮草先行 —— InnoDB 统计数据是如何收集的
* 不好看就要多整容 —— MySQL 基于规则的优化(内含关于子查询优化二三事儿)
* 查询优化的百科全书 —— Explain 详解(上)
* 查询优化的百科全书 —— Explain 详解(下)
* 神兵利器 —— optimizer trace 的神奇功效
* 调节磁盘和CPU的矛盾 —— InnoDB 的 Buffer Pool
* 从猫爷被杀说起 —— 事务简介
* 说过的话就一定要办到 —— redo 日志(上)
* 说过的话就一定要办到 —— redo 日志(下)
* 后悔了怎么办 —— undo 日志 (上)
* 后悔了怎么办 —— undo 日志 (下)
* 一条记录的多幅面孔 —— 事务的隔离级别与MVCC
* 工作面试老大难 —— 锁
* 补充资料——专题式讲解
* 专题式讲解 —— MySQL的server层和存储引擎层是如何交互的
* 专题式讲解 —— MySQL查询成本和扫描区间(MySQL中IS NULL、IS NOT NULL、!=不能用索引?胡扯!)
* 专题式讲解 —— 听说有一个最左原则?这回终于讲清楚了
* 专题式讲解 —— 设计MySQL的大叔为何偏爱ref
* 专题式讲解 —— MySQL中NULL值引起的小锅
* 专题式讲解 —— MySQL使用索引执行IN子句
* 专题式讲解 —— MySQL的COUNT语句是怎么执行的
* 专题式讲解 —— MySQL的LIMIT这么差劲的吗
* 专题式讲解 —— MySQL:为什么查询列表中多了它,GROUP BY语句就会报错呢?
* 专题式讲解 —— MySQL冷知识:t1.id=t2.id=t3.id看着咋这么怪呢?
* 专题式讲解 —— MySQL乱码
* 专题式讲解 —— 字符从UTF-8转成GBK发生了什么?
* 专题式讲解 —— MySQL的定点数类型
* 专题式讲解 —— Innodb到底是怎么加锁的
* 专题式讲解 —— 语句加锁分析实例
* 专题式讲解 —— MySQL如何查看事务加锁情况
* 专题式讲解 —— MySQL介于普通读和锁定读的加锁方式—— semi-consistent read
* 专题式讲解 —— 两条一样的INSERT语句竟然引发了死锁?
* 专题式讲解 —— binlog那些事儿(一)
* 专题式讲解 —— binlog那些事儿(二)
* 专题式讲解 —— redo、undo、buffer pool、binlog,谁先谁后,有点儿乱
* 专题式讲解 —— XA事务与两阶段提交
* 给小孩子的书打个广告
* 写作本书时用到的一些重要的参考资料
* 小册答疑指南
* 后记 —— 关于写技术书籍/文章的四个指导原则





![[衡天云]爆款云服务器 低至12元/月](/hty.png)