pursue wind pursue wind
首页
Java
Python
数据库
框架
Linux
中间件
前端
计算机基础
DevOps
项目
面试
书
关于
归档
MacOS🤣 (opens new window)
GitHub (opens new window)
首页
Java
Python
数据库
框架
Linux
中间件
前端
计算机基础
DevOps
项目
面试
书
关于
归档
MacOS🤣 (opens new window)
GitHub (opens new window)
  • MySQL

    • 基础篇

    • 索引篇

    • 事务篇

    • 锁篇

    • 日志篇

    • 内存篇

    • 小记

      • 0万里长征第一步(非常重要) —— 如何愉快的阅读本小册
      • 1装作自己是个小白 —— 重新认识MySQL
      • 2MySQL的调控按钮 —— 启动选项和系统变量
      • 3乱码的前世今生 —— 字符集和比较规则
      • 4从一条记录说起—— InnoDB 记录结构
      • 5盛放记录的大盒子 —— InnoDB 数据页结构
      • 6快速查询的秘籍 —— B+ 树索引
      • 7好东西也得先学会怎么用 —— B+ 树索引的使用
      • 8数据的家 —— MySQL 的数据目录
      • 9存放页面的大池子 —— InnoDB 的表空间
      • 10条条大路通罗马 —— 单表访问方法
      • 11两个表的亲密接触 —— 连接的原理
      • 12谁最便宜就选谁 —— MySQL 基于成本的优化
      • 13兵马未动,粮草先行 —— InnoDB 统计数据是如何收集的
      • 14不好看就要多整容 —— MySQL 基于规则的优化(内含关于子查询优化二三事儿)
      • 15查询优化的百科全书 —— Explain 详解(上)
      • 16查询优化的百科全书 —— Explain 详解(下)
      • 17神兵利器 —— optimizer trace 的神器功效
      • 18调节磁盘和CPU的矛盾 —— InnoDB 的 Buffer Pool
      • 19从猫爷被杀说起 —— 事务简介
      • 20说过的话就一定要办到 —— redo 日志(上)
      • 21说过的话就一定要办到 —— redo 日志(下)
      • 22后悔了怎么办 —— undo 日志
      • 23工作面试老大难 —— 锁
      • 24写作本书时用到的一些重要的参考资料
        • 感谢
          • 一些链接
          • 一些书籍
          • 说点不好的
          • 结语
    • 其他

  • Redis

  • ElasticSearch

  • MongoDB

  • 数据库
  • MySQL
  • 小记
pursuewind
2020-11-23
目录

24写作本书时用到的一些重要的参考资料

# 感谢

我不生产知识,只是知识的搬运工。写作本小册的时间主要用在了两个方面:

  • 搞清楚事情的本质是什么。

    这个过程就是研究源码、书籍和资料。

  • 如何把我已经知道的知识表达出来。

    这个过程就是我不停的在地上走过来走过去,梳理知识结构,斟酌用词用句,不停的将已经写好的文章推倒重来,只是想给大家一个不错的用户体验。

这两个方面用的时间基本上是一半一半吧,在搞清楚事情的本质是什么阶段,除了直接阅读MySQL的源码之外,查看参考资料也是一种比较偷懒的学习方式。本书只是MySQL进阶的一个入门,想了解更多关于MySQL的知识,大家可以从下边这些资料里找点灵感。

# 一些链接

  • MySQL官方文档:https://dev.mysql.com/doc/refman/5.7/en/

    MySQL官方文档是写作本书时参考最多的一个资料。说实话,文档写的非常通俗易懂,唯一的缺点就是太长了,导致大家看的时候无从下手。

  • MySQL Internals Manual:https://dev.mysql.com/doc/internals/en/

    介绍MySQL如何实现各种功能的文档,写的比较好,但是太少了,有很多章节直接跳过了。

  • 何登成的github:https://github.com/hedengcheng/tech

    登博的博客非常好,对事务、优化这讨论的细节也非常多,不过由于大多是PPT结构,字太少,对上下文不清楚的同学可能会一脸懵逼。

  • orczhou的博客:http://www.orczhou.com/

  • Jeremy Cole的博客:https://blog.jcole.us/innodb/

    Jeremy Cole大神不仅写作了innodb_ruby这个非常棒的解析InnoDB存储结构的工具,还对这些存储结构写了一系列的博客,在我几乎要放弃深入研究表空间结构的时候,是他老人家的博客把我又从深渊里拉了回来。

  • 那海蓝蓝(李海翔)的博客:https://blog.csdn.net/fly2nn

  • taobao月报:http://mysql.taobao.org/monthly/

    因为MySQL的源码非常多,经常让大家无从下手,而taobao月报就是一个非常好的源码阅读指南。

    吐槽一下,这个taobao月报也只能当作源码阅读指南看,如果真的不看源码光看月报,那只能当作天书看,十有八九被绕进去出不来了。
    
    1
  • MySQL Server Blog:http://mysqlserverteam.com/

    MySQL team的博客,一手资料,在我不知道看什么的时候给了很多启示。

  • mysql_lover的博客:https://blog.csdn.net/mysql_lover/

  • Jørgen's point of view:https://jorgenloland.blogspot.com/

  • mariadb的关于查询优化的文档:https://mariadb.com/kb/en/library/query-optimizations/

    不得不说mariadb的文档相比MySQL的来说就非常有艺术性了(里边儿有很多漂亮的插图),我很怀疑MySQL文档是程序员直接写的,mariadb的文档是产品经理写的。当我们想研究某个功能的原理,在MySQL文档干巴巴的说明中找不到头脑时,可以参考一下mariadb娓娓道来的风格。

  • Reconstructing Data Manipulation Queries from Redo Logs:https://www.sba-research.org/wp-content/uploads/publications/WSDF2012_InnoDB.pdf

  • 关于InnoDB事务的一个PPT:https://mariadb.org/wp-content/uploads/2018/02/Deep-Dive_-InnoDB-Transactions-and-Write-Paths.pdf

  • 非官方优化文档:http://www.unofficialmysqlguide.com/optimizer-trace.html

    这个文档非常好,非常非常好~

  • MySQL8.0的源码文档:https://dev.mysql.com/doc/dev/mysql-server

# 一些书籍

  • 《数据库查询优化器的艺术》李海翔著

    大家可以把这本书当作源码观看指南来看,不过讲的是5.6的源码,5.7里重构了一些,不过大体的思路还是可以参考的。

  • 《MySQL运维内参》周彦伟、王竹峰、强昌金著

    内参里有许多代码细节,是一个阅读源码的比较好的指南。

  • 《Effectiv MySQL:Optimizing SQL Statements》Ronald Bradford著

    小册子,可以一口气看完,对了解MySQL查询优化的大概内容还是有些好处滴。

  • 《高性能MySQL》瓦茨 (Baron Schwartz) / 扎伊采夫 (Peter Zaitsev) / 特卡琴科 (Vadim Tkachenko) 著

    经典,对于第三版的内容来说,如果把第2章和第3章的内容放到最后就更好了。不过作者更愿意把MySQL当作一个黑盒去讲述,主要是说明了如何更好的使用MySQL这个软件,这一点从第二版向第三版的转变上就可以看出来,第二版中涉及的许多的底层细节都在第三版中移除了。总而言之它是MySQL进阶的一个非常好的入门读物。

  • 《数据库事务处理的艺术》李海翔著

    同《数据库查询优化器的艺术》。

  • 《MySQL技术内幕 : InnoDB存储引擎 第2版》姜承尧著

    学习MySQL内核进阶阅读的第一本书。

  • 《MySQL技术内幕 第5版》 Paul DuBois 著

    这本书是对于MySQL使用层面的一个非常详细的介绍,也就是说它并不涉及MySQL的任何内核原理,甚至连索引结构都懒得讲。像是一个老妈子在给你不停的唠叨吃饭怎么吃,喝水怎么喝,怎么上厕所的各种絮叨。整体风格比较像MySQL的官方文档,如果有想从使用层面从头了解MySQL的同学可以尝试的看看。

  • 《数据库系统概念》(美)Abraham Silberschatz / (美)Henry F.Korth / (美)S.Sudarshan 著

    这本书对于入门数据库原理来说非常好,不过看起来学术气味比较大一些,毕竟是一本正经的教科书,里边有不少的公式啥的。

  • 《事务处理 概念与技术》Jim Gray / Andreas Reuter 著

    这本书只是象征性的看了1~5章,说实话看不太懂,总是get不到作者要表达的点。不过听说业界非常推崇这本书,而恰巧我也看过一点,就写上了,有兴趣的同学可以去看看。

# 说点不好的

上边尽说这些参考资料如何如何好了,主要是因为在我写作过程中的确参考到了,没有这些资料可能三五年都无法把小册写完。但是除了MySQL的文档以及《高性能MySQL》、《Effectiv MySQL:Optimizing SQL Statements》这两本书之外,其余的资料在大部分时间都是看的我头晕眼花,四肢乏力,不看个十遍八遍基本无法理清楚作者想要表达的点,这也是我写本小册的初衷---让天下没有难学的知识。

# 结语

希望这是各位2019年最爽的一次知识付费,如果觉得有点儿物超所值?给个打赏呗~

Last Updated: 2023/02/16, 12:02:00
23工作面试老大难 —— 锁
MyBatis - MySQL - JSON_OPT

← 23工作面试老大难 —— 锁 MyBatis - MySQL - JSON_OPT→

Theme by Vdoing | Copyright © 2019-2023 pursue-wind | 粤ICP备2022093130号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
  • 飙升榜
  • 新歌榜
  • 云音乐民谣榜
  • 美国Billboard榜
  • UK排行榜周榜
  • 网络DJ