高效能MYSQL:提升MYSQL性能的技术与技巧
- ISBN:9787111737933
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:292
- 出版时间:2023-11-01
- 条形码:9787111737933 ; 978-7-111-73793-3
本书特色
目前既有介绍MySQL性能基础知识的图书,也有介绍MySQL性能高级知识的图书,但还没有介于两者之间的图书。这是因为,不介绍MySQL性能的复杂性,就很难解释MySQL性能。而本书填补了这个空白,向软件工程师讲解超出基础知识,但又远没到数据库管理员(DBA)需要知道的深层内部原理的中级MySQL知识。
Daniel Nichter将教你应用直接影响MySQL性能的佳实践和技术,通过分析查询执行、为常用的SQL子句和表连接创建索引、优化数据访问、理解重要的MySQL指标来提高性能,并了解复制、事务、行锁和云对MySQL性能所产生的影响。
通过学习本书,你将:
? 理解为什么查询响应时间是MySQL性能的北极星。
? 详细学习查询指标,包括聚合、报告和分析。
? 了解如何为常用的SQL子句和表连接创建有效的索引。
? 探索重要的服务器指标,并了解它们揭示了性能的哪些信息。
? 深入了解事务和行锁,以获得深入、可操作的洞见。
? 在任意规模都能实现出色的MySQL性能。
内容简介
本书是一本系统介绍MySQL性能优化相关技术、方法及实践的实用指南。在书中,作者首先详细解释了查询响应时间;然后介绍了直接查询优化(创建和编制索引)、间接查询优化(减少数据访问和存储)等提高MySQL性能的方法,还通过讲解数据访问模式、MySQL分片的基本机制、MySQL的服务器指标、复制延迟、MySQL的事务(涉及InnoDB行锁)等知识为优化MySQL性能提供思路;之后介绍了一些常见的MySQL挑战,以及应对方法;*后讨论了在云中使用MySQL时需要知道的知识,拓展了读者的思维。
目录
前言1
第1章 查询响应时间5
1.1 假性能的一个真故事6
1.2 北极星6
1.3 查询报告7
1.4 查询分析14
1.5 改进查询响应时间29
1.6 何时优化查询31
1.7 MySQL:更快一点32
1.8 小结33
1.9 练习:识别慢查询34
第2章 索引和编制索引36
2.1 性能的红鲱鱼38
2.2 MySQL索引:通过图示介绍40
2.3 编制索引:如何像MySQL一样思考75
2.4 索引降级的常见原因79
2.5 表连接算法82
2.6 小结84
2.7 练习:找到重复的索引84
第3章 数据86
3.1 三个秘密87
3.2 少数据原则91
3.3 删除或归档数据108
3.4 小结112
3.5 练习:审查查询的数据访问情况113
第4章 访问模式114
4.1 MySQL什么都不做115
4.2 性能在极限位置变得不稳定116
4.3 丰田和法拉利120
4.4 数据访问模式121
4.5 应用程序修改129
4.6 更好、更快的硬件137
4.7 小结138
4.8 练习:描述访问模式139
第5章 分片140
5.1 为什么单个数据库不能伸缩140
5.2 小鹅卵石而不是巨石147
5.3 分片简介148
5.4 替代选项157
5.5 小结160
5.6 练习:四年拟合160
第6章 服务器指标162
6.1 查询性能与服务器性能对比164
6.2 正常且稳定:好的数据库是枯燥的数据库166
6.3 关键性能指示器167
6.4 指标领域168
6.5 光谱173
6.6 监控和警报206
6.7 小结213
6.8 练习:检查关键性能指示器213
6.9 练习:检查警报和阈值214
第7章 复制延迟215
7.1 基础216
7.2 原因221
7.3 风险:数据丢失223
7.4 降低延迟:多线程复制227
7.5 监控231
7.6 恢复时间233
7.7 小结234
7.8 练习:监控次秒级延迟235
第8章 事务238
8.1 行锁239
8.2 MVCC和回滚日志253
8.3 历史列表长度257
8.4 常见问题259
8.5 报告263
8.6 小结270
8.7 练习:对历史列表长度发出警报271
8.8 练习:检查行锁271
第9章 其他挑战273
9.1 脑裂是大的风险273
9.2 数据漂移真实存在但不可见274
9.3 不要信任ORM275
9.4 模式总会改变276
9.5 MySQL扩展了标准SQL276
9.6 吵闹的邻居277
9.7 应用程序不会优雅地失败277
9.8 高性能MySQL很难278
9.9 练习:识别阻止发生脑裂的防护措施279
9.10 练习:检查数据漂移280
9.11 练习:混沌281
第10章 云中的MySQL283
10.1 兼容性284
10.2 管理285
10.3 网络和存储时延287
10.4 性能就是金钱289
10.5 小结290
10.6 练习:在云中试用MySQL291
作者简介
[美]丹尼尔·尼希特(Daniel Nichter),目前在Square(一家金融科技公司,拥有几千个MySQL服务器)担任DBA和软件工程师,拥有超过15年的MySQL管理和使用经验以及MySQL性能优化经验。Daniel*为人熟知的地方是他在Percona就职的8年间发布的工具,其中一些仍然是事实上的标准,被世界上一些大型技术公司使用。他还是MySQL Community Award获奖者、会议发言人和多个领域的开源贡献者。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
情感计算
¥66.8¥89.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0