乐趣区

关于程序员:总结我的-MySQL-学习历程给有需要的人看

作者 | 慕课网精英讲师 马听

你好,我是马听,当初是某批发公司的 MySQL DBA,身处一线的我示意有很多话要讲。

我的 MySQL 学习历程

在我大三的时候,就开始接触到 MySQL 了,过后我也是从最根底的 MySQL 常识(比方建表、字段批改、增删查改等)开始学习的,当学完简略的语句之后,感觉特有成就感:),认为本人在 MySQL 方面曾经很强了,感觉 MySQL 用起来无非也就这些内容,还能有什么?

直到刚毕业入职某互联网公司时,公司电商业务的数据库忽然呈现高负载报警,并且业务反馈很多接口都出奇的慢,这时一位数据库运维共事马上连上数据库,在执行了几条命令后,就确定了是慢查问导致数据库高负载的,通过改写 SQL 语句能让性能失去改善。他马上告诉开发改写了代码,发完版之后负载立马下来了。

此时,我理解到身处火线的咱们,随时随地会遇到各种“麻烦”,而面临这些境遇就要求咱们必须零碎的进步和优化对于数据库的治理。比方,进行数据导入时,如何进行优化?工作中有一次,开发一个共事想在他的测试环境导入一张大表,他发现每次都要花半小时以上,就找到了我帮忙,看完他的 MySQL 参数配置后,我会发现其实有些参数能够调整的,调整完之后,让他再持续测试,发现不到 10 分钟就搞定了,是不是高效了很多,MySQL 的优化中有太多这样例子了。那俗话说:磨刀不误砍柴工,咱们花越多的工夫来学习,其实也是为进步工作时效率,节约了咱们更多的工夫,上面咱们一起来深入研究下 MySQL 优化和晋升时外面的要点和细节吧。

哪些人须要学习 MySQL

优化说了这么多,那到底有哪些人须要学习 MySQL 优化呢?

首先,当然 DBA 是必须学习的,因为剖析慢查问,并且去优化慢查问是 DBA 的工作之一。其次,开发也应该学习 MySQL 优化,我以前遇到过一个开发能力比拟强的共事,去 BAT 某大厂面试开发工作,其余技术根本没问题,而当问到 MySQL 索引和事务以及优化相干问题时,就卡住了,最终错失进入大厂的机会,人生真的好难…泪奔。不单单面试,在工作中,如果开发懂得数据库优化,很多状况就不必 DBA 来审核找出问题再回过头去改代码,会大大节约了工夫老本,完满:)当然,其余对于 MySQL 感兴趣的人,也是能够学学优化技巧的,欢送欢送欢送,让你的 SQL 执行效率更高。

晋升 MySQL 程度形式

分享下我本人学习 MySQL 的历程,小伙伴们有须要的能够借鉴下,在这里,总结一下我的 MySQL 晋升程度的形式:

如果你没有 MySQL 的根底,倡议能够看上面两本书籍,看完之后,能够简略解决一些优化:《MySQL 必知必会》:次要讲 SQL 的写法;《深入浅出 MySQL》:比拟全面的解说了 MySQL 的基础知识,也波及了一些优化。如果曾经对 MySQL 比拟相熟了,能够看上面的书籍,你会对索引和锁以及事务等有全新的认识:《高性能 MySQL》:外面讲了很多 MySQL 优化技巧;《MySQL 技术底细》:解说了很多 MySQL 原理,强力举荐给想深刻学习 MySQL 的同学;《MySQL 内核:InnoDB 存储引擎》:想深入研究 MySQL 内核及原理的能够看看;《MySQL 运维内参》:对 MySQL 源码感兴趣,能够动手;《MySQL Internals Manual》《MySQL 5.7 Reference Manual》如果曾经把握了 MySQL 的基础知识,大家能够依照如下常识脉络进行深刻学习:

最初,心愿大家都能学会 MySQL,拿高薪!

退出移动版