授人以鱼亦可授人以渔,一文告诉你如何学习MySQL,你4个月的学习计划有了。
往期精选(欢迎转发~~)
- 2年经验总结,告诉你如何做好项目管理
- 如何看待程序员35岁职业危机?
- Java全套学习资料(14W字),耗时半年整理
- 消息队列:从选型到原理,一文带你全部掌握
- 我肝了三个月,为你写出了GO核心手册
- RPC框架:从原理到选型,一文带你搞懂RPC
- 更多...
写了1年多的技术文章,如果说哪块知识我掌握的相对好些,其实是MySQL和Redis,由于网上相关的学习资料非常多,这两块内容我就不单独写了,主要给大家推荐一些书籍、资料,告诉大家学习方法,并分享自己学习的学习心得。
推荐书籍
如果想系统学习MySQL,肯定是需要完整看一本书籍,因为书中的内容更全面,个人推荐2本书籍:《高性能MySQL》和《MySQL技术内幕-InnoDB存储引擎》。
《高性能MySQL》这本非常厚,但是讲的更通俗易懂,《MySQL技术内幕-InnoDB存储引擎》要薄一些,但是里面的知识相对较难。这两本书是否都要看呢?个来人的经验:只看一本即可!
我当时最开始读的是《MySQL技术内幕-InnoDB存储引擎》,第一遍看了快2个月,很多地方都看不懂,后来又重新研读了一遍,前后花了3个月才把这本书啃下来。后来又买了《高性能MySQL》,因为核心内容和《MySQL技术内幕-InnoDB存储引擎》高度重合,所以只作为补充知识学习。
因为我看的是《MySQL技术内幕-InnoDB存储引擎》,说一下重点章节:第四章(表)、第五章(索引和算法)、第六章(锁)、第七章(事务)。
经验总结:两本书选取一本即可,但是一定要看2遍,重点章节内容必须掌握(上面已经给出),学完这个,一般的MySQL面试基本都能搞定。
进阶学习
林晓斌的《MySQL 实战 45 讲》
首先说明一下,我不是打广告,如果MySQL需要进阶的话,首推极客时间林晓斌的《MySQL 实战 45 讲》,极客时间,我也买过好几个课程,感觉讲的最好,干货最多的就是林晓斌的MySQL。
该课程基础篇有8篇,这个肯定是必须要掌握的,里面从原理讲述了索引、事务隔离、锁。
然后实战篇有37篇,我没有全部看完,主要选取一些实用的章节,比如“MySQL为什么有时会选错索引”、“怎么给字符串字段加索引”、“order by是怎么工作的”等等,每一篇都非常经典,让你如沐春风。
学完这个,你MySQL的技能基本可以应付日常的工作。
我这么大力推荐这个课程,极客时间是不是要给我广告费呢?
牛人博客
首推这篇《Mysql完结汇总篇(18W字送给大家),完结撒花》
感觉博主很牛逼,光这篇MySQL就写了18W字,看到这篇文章,瞬间打消我写MySQL技术文章的念头,我只想说“大神,请收下我的膝盖”。文章涉及MySQL调优、面试和原理,非常全面,不过我还没有仔细去看,以后如果需要重点搞MySQL,会再去学习。
学完这个,估计就可以去修仙了。
自己总结的资料
我自己输出的MySQL文章非常少,主要是《MySQL-InnoDB存储引擎PPT》
这个其实是个PPT,差不多有50多页,主要从索引、事务和锁这3个方面讲解MySQL,里面有很多实战示例。文章内容主要提炼林晓斌的《MySQL 实战 45 讲》和《MySQL技术内幕-InnoDB存储引擎》书籍,当时写这个PPT花费了大半个月时间,搞得我以后再也不想写PPT了,吐一口老血。
如果想知道哪些MySQL知识需要去学习,或者希望快速回顾MySQL,首推我写的PPT。
关于MySQL的锁,之前也单独写过一篇《一文带你搞懂MySql的各种锁》,其它的感觉太小菜,就不贴了。
心得体会
MySQL是后端程序员的必备技能之一,无论你是哪个后端技术栈。我学习MySQL的路径其实很简单,先把《MySQL-InnoDB存储引擎》看2遍,然后当时为了找工作,看了很多MySQL面试相关的文章,所以工作前4年,MySQL也就达到这个水平,仅此而已,但是面试过程中,很少被卡在MySQL上。
近两年看了林晓斌的《MySQL 实战 45 讲》,平时工作中也会遇到MySQL性能优化,所以对MySQL的学习就更上一个台阶。
MySQL是所有技术体系中,我花费学习时间最长的,但是真给我带来哪些帮助,我总结2点,一是面试不会卡我;二是工作中设计表,或者遇到MySQL的性能问题,会用到索引和锁相关知识,至于其它的,好像就都没有用到了,比如事务隔离级别、各种复杂的锁竞争,纯粹是感兴趣,就多研究了一下,是不是有种“学习造火箭,工作拧螺丝”的感觉,关于这点,你怎么看呢?可以评论区留言,或者加我微信一起讨论哈~~
尽信书则不如无书,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激。