MySQL是怎样运行的读书笔记

《MySQL是怎样运行的:从根儿上理解 MySQL》是一本MySQL的底层运行原理的书。关于底层运行原理4个字怎么理解呢,我的理解是专注于介绍 MySQL 的 innoDB的底层存储细节,并以此为基础延伸到分析MySQL 实际应用中的特性。

相比极客时间里面的《MySQL 实战45讲》,我觉得这本书更像电视剧《一代宗师》里面讲到的里子而非面子,更聚焦于事情的本质而非表象,所以非常推荐大家耐心阅读。我是3.28号收到的书,在上下班的路上断断续续完成了阅读(这就是上下班需要花3个小时的好处),所谓的断断续续就是每个点都了解了,但是没有串成线形成面。今天刚好周六就抽了一下午加一晚上把所有的内容从头到位又串联了一次,整体下来差不多花了两周时间才消化完。

为啥对 MySQL突然来了兴趣呢,缘于2021年底以来公司内部组织了两场分享,当时听完分享后针对分享的PPT消化了一波,但是总感觉不得劲。虽然理解了分享中部分场景但却无法理解背后的原理,所以断断续续在网上搜集些介绍 MySQL 的书籍就发现了这本书,阅读后再重新回顾之前的分享,感觉突然开窍了。

梳理了下整个书本的内容,按照个人的理解给出阅读的建议,首先这部分的内容其实挺多的,但是建议聚焦于几条核心的线:innoDB的数据存储,索引的设计和应用,redo/undo 日志以及 mvcc 的原理。

关于 innoDB 的存储,这部分建议阅读章节: 从一条记录说起—— InnoDB 记录结构、盛放记录的大盒子 —— InnoDB 数据页结构、 调节磁盘和CPU的矛盾 —— InnoDB 的 Buffer Pool》。这三个章节按照数据存储由微观到宏观的顺序进行讲解:单条记录的存储结构、页维度的存储结构、Buffer Pool 的存储结构等。

索引的设计和应用,这部分阅读建议建立在innoDB的存储相关章节已经完成阅读的基础上,相关章节包括: 快速查询的秘籍 —— B+ 树索引、 好东西也得先学会怎么用 —— B+ 树索引的使用。这两个章节介绍索引的存储结构以及实际应用,跟日常工作比较有强关联性。

redo/undo 日志以及 mvcc 的原理,这部分建议阅读章节: 说过的话就一定要办到 —— redo 日志(上)、 说过的话就一定要办到 —— redo 日志(下)、 后悔了怎么办 —— undo 日志 (上)、 后悔了怎么办 —— undo 日志 (下)、 一条记录的多幅面孔 —— 事务的隔离级别与MVCC。这几个章节主要是为了讲清楚 MVCC 的底层实现原理。

最后推荐对 MySQL 有兴趣的同学可以买来翻翻看,收获肯定是有的。

你可能感兴趣的:(MySQL是怎样运行的读书笔记)