链接: https://pan.baidu.com/s/1gVRj4Lze7UvqBqSAv0eTjw?pwd=erky 提取码: erky
店铺: 电子工业出版社官方旗舰店
出版社: 电子工业出版社
ISBN:9787121198854
商品编码:10029932493103
出版时间:2021-04-01
页数:804
字数:1008000
审图号:9787121198854
更多参数>>
内容介绍
本书是MySQL领域的经典之作,拥有广泛的影响力。第3版更新了大量的内容,不但涵盖了*新MySQL 5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16章和6个附录,内容涵盖MySQL架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的MySQL和MySQL相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。 本书不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。
作者介绍
Baron Schwartz是一位软件工程师,居住在弗吉尼亚州的Charlottesville,网络常用名是Xaprb,这是按照QWERTY键盘的顺序在Dvorak键盘上打出来的名字。在不忙于解决有趣的编程挑战时,Baron会和他的妻子Lynn以及小狗Carbon一起享受闲暇的时光。他有一个软件工程方面的博客,地址是http://www.xaprb.com/blog/
Baron Schwartz目前是Percona公司的首席性能架构师。他创造了很多的工具和技术,使得MySQL更加易用和可靠。Peter Zaitsev是Percona公司的CEO和联合创始人。他是一位数据库内核、计算机硬件和应用扩展性方面的专家。他曾经负责管理MySQL的高性能小组,一直到2006年。adim Tkachenko是Percona公司的CTO和联合创始人。他目前负责带领Percona公司的开发小组,开发的产品包括Percona Server、Percona XtraDB集群,以及Percona Xtrabackup。
关联推荐
DBA,程序员及其他技术工作者。
目录
目录
推荐序 xxiii
前言 xxv
第1 章 MySQL 架构与历史 1
1.1 MySQL 逻辑架构 1
1.1.1 连接管理与安全性 2
1.1.2 优化与执行 3
1.2 并发控制 3
1.2.1 读写锁 4
1.2.2 锁粒度 4
1.3 事务 6
1.3.1 隔离级别 8
1.3.2 死锁 9
1.3.3 事务日志 10
1.3.4 MySQL 中的事务 10
1.4 多版本并发控制 12
1.5 MySQL 的存储引擎 13
1.5.1 InnoDB 存储引擎 16
1.5.2 MyISAM 存储引擎 17
1.5.3 MySQL 内建的其他存储引擎 19
1.5.4 第三方存储引擎 22
1.5.5 选择合适的引擎 24
1.5.6 转换表的引擎 27
1.6 MySQL 时间线(Timeline) 29
1.7 MySQL 的开发模式 32
1.8 总结 33
第2 章 MySQL 基准测试 35
2.1 为什么需要基准测试 35
2.2 基准测试的策略 37
2.2.1 测试何种指标 38
2.3 基准测试方法 40
2.3.1 设计和规划基准测试 41
2.3.2 基准测试应该运行多长时间 42
2.3.3 获取系统性能和状态 43
2.3.4 获得准确的测试结果 44
2.3.5 运行基准测试并分析结果 46
2.3.6 绘图的重要性 47
2.4 基准测试工具 49
2.4.1 集成式测试工具 49
2.4.2 单组件式测试工具 50
2.5 基准测试案例 52
2.5.1 http_load 53
2.5.2 MySQL 基准测试套件 .54
2.5.3 sysbench 55
2.5.4 数据库测试套件中的dbt2 TPC-C 测试 60
2.5.5 Percona 的TPCC-MySQL 测试工具 63
2.6 总结 65
第3 章 服务器性能剖析 67
3.1 性能优化简介 67
3.1.1 通过性能剖析进行优化 69
3.1.2 理解性能剖析 71
3.2 对应用程序进行性能剖析 72
3.2.1 测量PHP 应用程序 74
3.3 剖析MySQL 查询 77
3.3.1 剖析服务器负载 77
3.3.2 剖析单条查询 81
3.3.3 使用性能剖析 87
3.4 诊断间歇性问题 88
3.4.1 单条查询问题还是服务器问题 89
3.4.2 捕获诊断数据 93
3.4.3 一个诊断案例 98
3.5 其他剖析工具 106
3.5.1 使用USER_STATISTICS 表 106
3.5.2 使用strace 107
3.6 总结 108
第4 章 Schema 与数据类型优化 111
4.1 选择优化的数据类型 111
4.1.1 整数类型 113
4.1.2 实数类型 113
4.1.3 字符串类型 114
4.1.4 日期和时间类型 121
4.1.5 位数据类型 123
4.1.6 选择标识符(identifier) 125
4.1.7 特殊类型数据 127
4.2 MySQL schema 设计中的陷阱 127
4.3 范式和反范式 129
4.3.1 范式的优点和缺点 130
4.3.2 反范式的优点和缺点 . 130
4.3.3 混用范式化和反范式化 131
4.4 缓存表和汇总表 132
4.4.1 物化视图 134
4.4.2 计数器表 135
4.5 加快ALTER TABLE 操作的速度 136
4.5.1 只修改.frm 文件 137
4.5.2 快速创建MyISAM 索引 139
4.6 总结 140
第5 章 创建高性能的索引 141
5.1 索引基础 141
5.1.1 索引的类型 142
5.2 索引的优点 152
5.3 高性能的索引策略 153
5.3.1 独立的列 153
5.3.2 前缀索引和索引选择性 153
5.3.3 多列索引 157
5.3.4 选择合适的索引列顺序 159
5.3.5 聚簇索引 162
5.3.6 覆盖索引 171
5.3.7 使用索引扫描来做排序 175
5.3.8 压缩(前缀压缩)索引 177
5.3.9 冗余和重复索引 178
5.3.10 未使用的索引 181
5.3.11 索引和锁 181
5.4 索引案例学习 183
5.4.1 支持多种过滤条件 183
5.4.2 避免多个范围条件 185
5.4.3 优化排序 186
5.5 维护索引和表 187
5.5.1 找到并修复损坏的表 . 187
5.5.2 更新索引统计信息 188
5.5.3 减少索引和数据的碎片 190
5.6 总结 192
第6 章 查询性能优化 195
6.1 为什么查询速度会慢 195
6.2 慢查询基础:优化数据访问 196
6.2.1 是否向服务器请求了不需要的数据 196
6.2.2 MySQL 是否在扫描额外的记录 198
6.3 重构查询的方式 201