4

书籍学习方法,推荐8本有价值的MySQL书籍

1, Effective MySQL系列

《Effective MySQL系列》是指:

  • Effective MySQL Replication Techniques in Depth
  • Effective MySQL之SQL语句最优化
  • Effective MySQL之备份与恢复

这一系列并不如前面推荐的好,其中,我只看了前两本,这几本书只能算是小册子,如果有时间可以看看,对某一个”模块”进入深入了解。

2.MySQL的源码

关于MySQL源码的书非常少,还好现在市面上有两本不错的书,而且刚好一本讲server层,一本讲innodb存储引擎层,对于学习MySQL源码会很有帮助,至少能够更加快速地了解MySQL的原理和宏观结构,然后再深入细节。此外,还有一些博客或PPT将得也很不错,这里推荐最好的几份材料。

3 InnoDB - A journey to the core

《InnoDB - A journey to the core》 是MySQL大牛Jeremy Cole写的PPT,介绍InnoDB的存储模块,即表空间、区、段、页的格式、记录的格式、槽等等。是学习Innodb存储的最好的材料。感谢Jeremy Cole!

4 深入MySQL源码

登博的分享《深入MySQL源码》,相信很多想了解MySQL源码的朋友已经知道这份PPT,就不过多介绍,不过,要多说一句,登博的参考资料里列出的几个博客,都要关注一下,干货满满,是学习MySQL必须关注的博客。

5 深入理解MySQL核心技术

《深入理解MySQL核心技术》是第一本关于MySQL源码的书,着重介绍了MySQL的Server层,重点介绍了宏观架构,对于刚开始学习MySQL源码的人,相信会有很大的帮助,我在学习MySQL源码的过程中,反复的翻阅了几遍,这本书刚开始看的时候会很痛苦,但是,对于研究MySQL源码,非常有帮助,就看你是否需要,如果没有研究MySQL源码的决心,这本书应该会被唾弃。

深入理解MySQL核心技术

6 MySQL内核:InnoDB存储引擎

我们组的同事写的《MySQL内核:InnoDB存储引擎》,可能宇宙范围内这本书就数我学得最认真了,虽然书中有很多编辑错误,但是,平心而论,还是写得非常好的,相对于《深入理解MySQL核心技术》,可读性更强一些,建议研究Innodb存储引擎的朋友,可以了解一下,先对Innodb有一个宏观的概念,对大致原理有一个整体的了解,然后再深入细节,肯定会比自己从头开始研究会快很多,这本书可以帮助你事半功倍。

MySQL内核

7 MySQL Internals Manual

《MySQL Internals Manual》相对于MySQL Manual来说,写的太粗糙,谁让人家是官方文档呢,研究MySQL源码的时候可以简单地参考一下,但是,还是不要指望文档能够回答你的问题,还需要看代码才行。

8 MariaDB原理与实现

评论里提到的《MariaDB原理与实现》我也买了一本,还不错,MariaDB讲的并不多,重点讲了Group Commit、线程池和复制的实现,都是MySQL Server层的知识,对MySQL Server层感兴趣的可以参考一下。

MariaDB

网站学习方法,推荐15个有价值的MySQL教程网站

1.Official Home Of MySql

2.W3Schools.com

3.MySql Basics

4.Tutorialized.com

5.Tizag MySql Tutorials

6. Tutorialspoint.com

7. MySql Forge

8.Official MySql Forum

9. Devshed.com

10. Sitepoint.com

11.Planet MySql

12.MySql Performance Blog

13.Sql.org

14.RoseIndia

15.WebDevelopersNotes

视频资料学习方法,

若你是Java领域内的初学者:合理充分地利用网络资源,多维度多渠道结合学习,切忌初始便买上几本厚厚的砖头书,进行毫无针对性的泛读而不进行任何实操练习。

我个人比较喜欢查阅英文的教材和视频资料,表述更为简洁,在编程领域里其实也更为语义化,争议向来较大,不过我个人而言,我是会首选视频进行较为系统学习。面对一个新的领域,明晰的总体脉络走向和精准的切入点,能比单纯的自我学习大幅提高效率。

当有一定的学习经验后,善用在线练习网站进行巩固便变得十分重要。所谓编程,重点在编。相信我,你所能犯的奇葩错误种类绝对超出你对自己的认知……如果不进行实操练习,你永远都不会知道哪个知识点你没有掌握周全。

在这里我我准备了一些资料

MySQL优化概述

  • 一个Sql引发的思考
  • 索引是什么
  • 索引的分类
  • 基础语法

执行计划

  • 什么是执行计划
  • 执行计划的作用
  • 执行计划详解

优化实战

  • SQL查询优化

实战


Java高端架构师
127 声望12 粉丝