为了账号安全,请及时绑定邮箱和手机立即绑定
慕课专栏

目录

索引目录

一线数据库工程师带你深入理解 MySQL

原价 ¥ 46.00

立即订阅
01 开篇词
更新时间:2019-07-30 10:12:09
只有在那崎岖的小路上不畏艰险奋勇攀登的人,才有希望达到光辉的顶点。

——马克思

你好,我是马听,现在是某零售公司的 MySQL DBA,身处一线的我表示有很多话要讲,首先欢迎大家来到我的专栏,我将带你进入数据库优化与提升第一课。

1 我的 MySQL 学习历程

在我大三的时候,就开始接触到 MySQL 了,当时我也是从最基础的 MySQL 知识(比如建表、字段修改、增删查改等)开始学习的,当学完简单的语句之后,感觉特有成就感:),认为自己在 MySQL 方面已经很强了,感觉 MySQL 用起来无非也就这些内容,还能有什么?

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

此时,我了解到身处前线的我们,随时随地会遇到各种“麻烦”,而面临这些境遇就要求我们必须系统的提高和优化对于数据库的管理

如果你有尝试看过 MySQL 的官方手册,看了两三章之后你会发现这样效率太低了。这就是本专栏的由来,我总结多年的数据库学习和管理经验,带你带系统的研究下真正的 MySQL ,对于 SQL 语句优化、索引原理、MySQL 锁、事务、MySQL 安全、分库分表、读写分离、MySQL 操作规范等这些内容,我在后面专栏都会一一进行分析和演示,也会给大家精心准备了相关的思考题。

比如,进行数据导入时,如何进行优化 ?工作中有一次,开发一个同事想在他的测试环境导入一张大表,他发现每次都要花半小时以上,就找到了我帮忙,看完他的 MySQL 参数配置后,我会发现其实有些参数可以调整的,调整完之后,让他再继续测试,发现不到 10 分钟就搞定了,是不是高效了很多,MySQL 的优化中有太多这样例子了。

那俗话说:磨刀不误砍柴工,我们花越多的时间来学习,其实也是为提高工作时效率,节约了我们更多的时间,下面我们一起来深入研究下 MySQL 优化和提升时里面的要点和细节吧。

2 哪些人需要学习 MySQL 优化

说了这么多,那究竟有哪些人需要学习 MySQL 优化呢?

首先,当然 DBA 是必须学习的,因为分析慢查询,并且去优化慢查询是 DBA 的工作之一。

其次,开发也应该学习 MySQL 优化,我以前遇到过一个开发能力比较强的同事,去 BAT 某大厂面试开发工作,其他技术基本没问题,而当问到 MySQL 索引和事务以及优化相关问题时,就卡住了,最终错失进入大厂的机会,人生真的好难…泪奔。不单单面试,在工作中,如果开发懂得数据库优化,很多情况就不用 DBA 来审核找出问题再回过头去改代码,会大大节约了时间成本,完美 :)

当然,其他对于 MySQL 感兴趣的人,也是可以学学优化技巧的,欢迎欢迎欢迎,让你的 SQL 执行效率更高。

3 提升 MySQL 水平的方式

分享下我自己学习 MySQL 的历程,小伙伴们有需要的可以借鉴下,在这里,总结一下我的 MySQL 提升水平的方式:

如果你没有 MySQL 的基础,建议可以看下面两本书籍,看完之后,可以简单处理一些优化:

  • 《MySQL 必知必会》:主要讲 SQL 的写法;
  • 《深入浅出 MySQL》:比较全面的讲解了 MySQL 的基础知识,也涉及了一些优化。

如果已经对 MySQL 比较熟悉了,可以看下面的书籍,你会对索引和锁以及事务等有全新的看法:

  • 《高性能 MySQL》:里面讲了很多 MySQL 优化技巧;
  • 《MySQL 技术内幕》:讲解了很多 MySQL 原理,强力推荐给想深入学习 MySQL 的同学;
  • 《MySQL 内核:InnoDB 存储引擎》:想深入研究 MySQL 内核及原理的可以看看;
  • 《MySQL 运维内参》:对 MySQL 源码感兴趣,可以入手;
  • 《MySQL Internals Manual》https://dev.mysql.com/doc/internals/en/
  • 《MySQL 5.7 Reference Manual》https://dev.mysql.com/doc/refman/5.7/en/

如果已经掌握了 MySQL 的基础知识,可以选择看本专栏,本专栏将很多优化 MySQL 的技巧都总结好了,并且分享了很多作者工作中遇到的问题。各位小伙伴们,我会陪你一步步来成长,不着急:)

4 学习本专栏前的提醒

最后,如果你购买了本专栏,下面这些信息可能需要告诉你:

  1. 阅读前需要知道增删查改、子查询、关联查询、group by 和 order by 等语法。
  2. 如果没特别说明,本专栏默认使用的 MySQL 版本为 5.7.21,事务隔离级别为 RR,表的存储引擎为 InnoDB。
  3. 如果专栏中有不正确的地方,欢迎在留言区指正。
}
立即订阅 ¥ 46.00

你正在阅读课程试读内容,订阅后解锁课程全部内容

千学不如一看,千看不如一练

手机
阅读

扫一扫 手机阅读

一线数据库工程师带你深入理解 MySQL
立即订阅 ¥ 46.00

举报

0/150
提交
取消