完美,阿里 DBA 骨干团队编写的 792 页 MySQL 调优笔记真香
性能问题
这个世界是由问题组成的,理想的状态和实际状态之间的差异造成了问题。国家领导解决人民生活幸福的大问题,公司的总经理解决盈利的问题,而本书只想解决 MySQL 数据库性能这么一一个“小问题”。
从某种程度来说,MySQL 数据库性能优化的问题是-一个并行的问题,归根结底是锁和资源争用的问题。
数据库的性能优化首先是计算机系统的优化。数据库程序是运行在计算机系统上的应用程序,需要先优化的就是计算机系统。也就是说,让硬件尽量均衡,操作系统充分发挥硬件的全部性能,而数据库充分利用操作系统和文件系统提供的便利发挥全部性能,而且避免资源的相互竞争。
数据库的性能优化其次是 SQL 语句的优化。上层 应用都通过 SQL 语句与数据库打交道,一条 SQL 语句为了获取数据可以有几十甚至上百种执行计划,数据库会通过优化器选择更优的 SQL 执行计划,但是 MySQL 在执行计划上远远落后于商业数据库,甚至在一些方面相比 PostgreSQL 也差很多,那么怎么写出正确的 SQL 语句,避免 MySQL 选择错误的执行计划,以及怎样通过增加索引、设置参数让:MySQL 的执行计划更优,这就是优化 SQL 语句需要关心的事情。
最后,数据库的性能优化最有效的是架构的优化。对于读多写少的应用程序,可以设计为读写分离,把允许延迟的读请求主动分发到备库;对于秒杀型的业务,可以先在内存型 key-value 存储系统筛选再发往数据库持久化,避免对数据库的冲击;对于汇总、聚合类的应用,可以采用列式存储引擎或者专门的大数据平台;对于监控类的应用,可以采用时序数据库,等等。
以上三种优化思路贯穿本书,这也是本书名为《千金良方: MySQL 性能优化金字塔法则》的缘由。

内容介绍
MySQL 的火热程度有目共睹,如果需要了解 MySQL 的安装、启动、配置等基础知识,市面上相关的书籍已是汗牛充栋。本书则尽量深入细致地介绍 MySQL 的基本原理,以及性能优化的实际案例。
本书既有涉及体系结构、PFS、I S、统计信息、复制、锁、InnoDB 等基础知识的铺垫(其实并不基础),又有众多案例详解,内容丰富、翔实,是难得一见的 MySQL 性能优化参考书,建议每位 DBA 以及从事 MySQL 相关应用开发的读者都读一读。
目录(本文内容较多,建议大家耐心观看)
全书一共分为 3 篇:基础篇、案例篇和工具篇。



由于篇幅限制小编,小编只在这里给大家展示目录及部分内容,有需要完整文档的程序猿(媛)可以帮忙转发+关注,添加助理 vx:yunduoa2019 获取
“基础篇”
信息论认为消除一件事情的不确定性就是获取足够多的信息。我们认为任何优化都可以从了解它的基本原理和设计思路开始。
“基础篇”从理论基础和基本原理层面介绍了 MySQL 的安装与配置、升级和体系结构,information_ schema、 sys_ schema、performance_ schema 和 mysql_ _schema, MySQL 复制,MySQL 事务,SQL 语句优化及架构设计基础知识。希望读者通过对这些内容的学习,能够深入细致地了解 MySQL 各方面的基础知识。
第 1 章 MySQL 初始化安装、简单安全加固

第 2 章 MySQL 常 用的两种升级方法

第 3 章 MySQL 体系结构

第 4 章 performance_ schema 初相识

第 5 章 performance schema 配置详解

第 6 章 performance_ schema 应用示例荟萃

第 7 章 sys 系统库初相识

第 8 章 sys 系统库配置表

第 9 章 sys 系统库应用示例荟萃

第 10 章 information_ schema 初相识

第 11 章 information schema 应用示例荟萃

第 12 章 mysq|系统库之权限系统表

第 13 章 mysq|系统库之访问权限控制系统

第 14 章 mysq|系统库之统计信息表

第 15 章 mysq|系统库之 复制信息表

第 16 章 mysq|系统库之 日志记录表

第 17 章 mysq|系统库应 用示例荟萃

第 18 章复制技术的演进

第 19 章事务概念基础

第 20 章 InnoDB 锁

第 21 章 SQL 优化

第 22 章 MySQL 读写扩展

“案例篇”
由于篇幅限制小编,阿里 DBA 骨干团队编写的 792 页 MySQL 调优笔记的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!不会只有大纲和目录,有需要的程序猿(媛)可以帮忙转发+关注,添加助理 vx:yunduoa2019 获取
计算机是种实验的科学,性能优化 是实战的艺术。
"案例篇”从硬件和系统、MySQL 架构等方面给出了性能优化的十几个案例,包括:性能测试的基本优化思路和最需要关注的性能指标解释、对日常 SQL 语句执行慢的基本定位、避免 x86 可用性的一般性方法、节能模式会怎样影响性能、IO 存储作为数据库最重要的依赖是如何影响数据库性能的、主备复制不一致可能有哪些原因、字符集不一致会造成哪些性能问题、在实际场景中锁的争用是怎样的。希望读者通过这些案例,可以深入细致地理解“基础篇”中的各种概念,融会贯通,对 MySQL 有一个全面的、系统的掌握。
第 23 章性能测试指标和相关术语

第 24 章历史问题诊断和现场故障分析

第 25 章性能调优金字塔

第 26 章 SQL 语句执行慢真假难辨

第 27 章如何避免三天两头换硬盘、 内存、主板

第 28 章每隔 45 天的 MySQL 性能低谷

第 29 章 MySQL 连接无法自动释放

第 30 章查询 MySQL 偶尔比较慢

第 31 章 MySQL 最多只允许 214 个连接

第 32 章 MySQL 挂起诊断思路

第 33 章硬件和系统调优

第 34 章并发删除数据造成死锁

第 35 章删除不存在的数据造成死锁

第 36 章插入意向锁死锁

第 37 章分页查询优化

第 38 章子查询优化——子查询转换为连接

第 39 章子查询优化——使用 delete 删除数据

“工具篇”
“工欲善其事,必先利其器。”我们日常需要借助-些工具来做性能优化。
“工具篇”介绍了在 MySQL 性能优化过程中需要用到的各种工具,包括: dmidecode、 top、 dstat 等 硬件和系统排查工具;FIO、sysbench、 HammerDB 等压力测试工具; mysqldump、 XtraBackup 等备份工具; Percona、 innotop、 Prometheus 等监控工具。希望读者可以借助更多自动化的方式去验证和评估性能优化解决方案,提升性能。
第 40 章硬件规格常用查看命令详解

第 41 章系统负载常用查看命令详解

第 42 章 FIO 存储性能压测

第 43 章 HammerDB 在线事务处理测试

第 44 章 sysbench 数据库压测工具

第 45 章 mysqladmin 和 innotop: I 具详解

第 46 章利用 Prometheus + Grafana 搭建炫酷的 MySQL 监控平台

第 47 章 Percona Toolkit 常用工具详解

第 48 章 MySQL 主流备份工 具之 mysqldump 详解

第 49 章 MySQL 主流备份工具之 XtraBackup 详解

第 50 章 MySQL 主流备份工 具之 mydumper 详解

第 51 章 MySQL 主流闪回工 具详解

读者对象
MySQL 初学者。建议按照顺序从本书的“基础篇"开始阅读。“基础篇"介绍了从安装部署、基础配置到性能诊断等日常工作需要了解的内容。在熟悉了 MySQL 的基本概念和大致原理以后,在阅读"案例篇”时,对问题的定义和解决方案才能理解得更加透彻。最后在阅读“工具篇”时,也可以学习到 MySQL DBA 日常工作所需工具的使用方法和应用场景。
专门从事 MySQL 工作 1~3 年的开发人员和运维人员。对于有一些 MySQL 开发和运维经验的人员,建议先跳过“基础篇”,直接从“案例篇"开始阅读。在“案例篇”中了解了具体的问题现象、故障处理的过程和方法以后,联系案例中对应的“基础篇"和“工具篇"知识进行阅读,这样能帮助你把很多知识点串联起来,由点到面形成更为全面的 MySQL 知识体系。
资深的 MySQL DBA。 本书可以作为案头书,在解决问题时,如果记不清某些概念或者细节比较模糊,则可以拿来参考。
领取文章中的 792 页阿里 DBA 骨干团队编写的 MySQL 调优笔记,只需要:
——对文章将进行转发+评论,关注我之后添加助理 vx:yunduoa2019 获取
版权声明: 本文为 InfoQ 作者【周老师】的原创文章。
原文链接:【http://xie.infoq.cn/article/28c7fd47ceaae75b31d9ad130】。文章转载请联系作者。
评论