高性能MySQL:第3版

高性能MySQL
9.3
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
出版社: 电子工业出版社
2013-04
版次: 3
ISBN: 9787121198854
定价: 128.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 764页
字数: 1040千字
正文语种: 简体中文
原版书名: High Performance MySQL,3rd
  •   《高性能MySQL(第3版)》是MySQL 领域的经典之作,拥有广泛的影响力。第3 版更新了大量的内容,不但涵盖了MySQL5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16章和6 个附录,内容涵盖MySQL架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的MySQL和MySQL相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。  《高性能MySQL(第3版)》不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。   BaronSchwartz,是一位软件工程师,居住在弗吉尼亚州的Charlottesville,网络常用名是Xaprb,这是按照QWERTY键盘的顺序在Dvorak键盘上打出来的名字。在不忙于解决有趣的编程挑战时,Baron会和他的妻子Lynn以及小狗Carbon一起享受闲暇的时光。他有一个软件工程方面的博客。   PeterZaitsev,曾经是MySQLAB公司高性能组的经理,目前在运作mysqlperformanceblog.com网站。他擅长于帮助那些每天有数以百万计访问量的网站的管理员解决问题,这些网站通常需要几百台机器来处理TB级的数据。他常常为了解决一个问题而不停地升级硬件和软件(比如查询优化)。Peter还经常在各种会议上演讲。   VadimTkachenko,曾经是MySQLAB公司的性能工程师。作为一名在多线程编程和同步方面的专家,他的主要工作是基准测试、性能剖析,以及找出系统的性能瓶颈。他还在性能监控和调优方面做了一些工作,使得MySQL在多核机器  宁海元,有超过十年的数据库管理经验,从最初的SQLServer2000到Oracle再到MySQL,擅长数据库高可用架构、性能优化和故障诊断。2007年加入淘宝,带领淘宝DBA团队完成 推荐序前言第1章 MySQL 架构与历史1.1 MySQL 逻辑架构1.1.1 连接管理与安全性1.1.2 优化与执行1.2 并发控制1.2.1 读写锁1.2.2 锁粒度1.3 事务1.3.1 隔离级别1.3.2 死锁1.3.3 事务日志1.3.4 MySQL 中的事务1.4 多版本并发控制1.5 MySQL 的存储引擎1.5.1 InnoDB 存储引擎1.5.2 MyISAM 存储引擎1.5.3 MySQL 内建的其他存储引擎1.5.4 第三方存储引擎1.5.5 选择合适的引擎1.5.6 转换表的引擎1.6 MySQL 时间线(Timeline)1.7 MySQL 的开发模式1.8 总结第2章 MySQL 基准测试2.1 为什么需要基准测试2.2 基准测试的策略2.2.1 测试何种指标2.3 基准测试方法2.3.1 设计和规划基准测试2.3.2 基准测试应该运行多长时间2.3.3 获取系统性能和状态2.3.4 获得准确的测试结果2.3.5 运行基准测试并分析结果2.3.6 绘图的重要性2.4 基准测试工具2.4.1 集成式测试工具2.4.2 单组件式测试工具2.5 基准测试案例2.5.1 http_load2.5.2 MySQL 基准测试套件2.5.3 sysbench2.5.4 数据库测试套件中的dbt2 TPC-C 测试2.5.5 Percona 的TPCC-MySQL 测试工具2.6 总结第3章 服务器性能剖析3.1 性能优化简介3.1.1 通过性能剖析进行优化3.1.2 理解性能剖析3.2 对应用程序进行性能剖析3.2.1 测量PHP 应用程序3.3 剖析MySQL 查询3.3.1 剖析服务器负载3.3.2 剖析单条查询3.3.3 使用性能剖析3.4 诊断间歇性问题3.4.1 单条查询问题还是服务器问题3.4.2 捕获诊断数据3.4.3 一个诊断案例3.5 其他剖析工具3.5.1 使用USER_STATISTICS 表3.5.2 使用strace3.6 总结第4章 Schema 与数据类型优化4.1 选择优化的数据类型4.1.1 整数类型4.1.2 实数类型4.1.3 字符串类型4.1.4 日期和时间类型4.1.5 位数据类型4.1.6 选择标识符(identifier)4.1.7 特殊类型数据4.2 MySQL schema 设计中的陷阱4.3 范式和反范式4.3.1 范式的优点和缺点4.3.2 反范式的优点和缺点4.3.3 混用范式化和反范式化4.4 缓存表和汇总表4.4.1 物化视图4.4.2 计数器表4.5 加快ALTER TABLE 操作的速度4.5.1 只修改.frm 文件4.5.2 快速创建MyISAM 索引4.6 总结第5章 创建高性能的索引5.1 索引基础5.1.1 索引的类型5.2 索引的优点5.3 高性能的索引策略5.3.1 独立的列5.3.2 前缀索引和索引选择性5.3.3 多列索引5.3.4 选择合适的索引列顺序5.3.5 聚簇索引5.3.6 覆盖索引5.3.7 使用索引扫描来做排序5.3.8 压缩(前缀压缩)索引5.3.9 冗余和重复索引5.3.10 未使用的索引5.3.11 索引和锁5.4 索引案例学习5.4.1 支持多种过滤条件5.4.2 避免多个范围条件5.4.3 优化排序5.5 维护索引和表5.5.1 找到并修复损坏的表5.5.2 更新索引统计信息5.5.3 减少索引和数据的碎片5.6 总结第6章 查询性能优化6.1 为什么查询速度会慢6.2 慢查询基础:优化数据访问6.2.1 是否向服务器请求了不需要的数据6.2.2 MySQL 是否在扫描额外的记录6.3 重构查询的方式6.3.1 一个复杂查询还是多个简单查询6.3.2 切分查询6.3.3 分解关联查询6.4 查询执行的基础6.4.1 MySQL 客户端/ 服务器通信协议6.4.2 查询缓存6.4.3 查询优化处理6.4.4 查询执行引擎6.4.5 返回结果给客户端6.5 MySQL 查询优化器的局限性6.5.1 关联子查询6.5.2 UNION 的限制6.5.3 索引合并优化6.5.4 等值传递6.5.5 并行执行6.5.6 哈希关联6.5.7 松散索引扫描6.5.8 最大值和最小值优化6.5.9 在同一个表上查询和更新6.6 查询优化器的提示(hint)6.7 优化特定类型的查询6.7.1 优化COUNT() 查询6.7.2 优化关联查询6.7.3 优化子查询6.7.4 优化GROUP BY 和DISTINCT6.7.5 优化LIMIT 分页6.7.6 优化SQL_CALC_FOUND_ROWS6.7.7 优化UNION 查询6.7.8 静态查询分析6.7.9 使用用户自定义变量6.8 案例学习6.8.1 使用MySQL 构建一个队列表6.8.2 计算两点之间的距离6.8.3 使用用户自定义函数6.9 总结第7章 MySQL 高级特性7.1 分区表7.1.1 分区表的原理7.1.2 分区表的类型7.1.3 如何使用分区表7.1.4 什么情况下会出问题7.1.5 查询优化7.1.6 合并表7.2 视图7.2.1 可更新视图7.2.2 视图对性能的影响7.2.3 视图的限制7.3 外键约束7.4 在MySQL 内部存储代码7.4.1 存储过程和函数7.4.2 触发器7.4.3 事件7.4.4 在存储程序中保留注释7.5 游标7.6 绑定变量7.6.1 绑定变量的优化7.6.2 SQL 接口的绑定变量7.6.3 绑定变量的限制7.7 用户自定义函数7.8 插件7.9 字符集和校对7.9.1 MySQL 如何使用字符集7.9.2 选择字符集和校对规则7.9.3 字符集和校对规则如何影响查询7.10 全文索引7.10.1 自然语言的全文索引7.10.2 布尔全文索引7.10.3 MySQL5.1 中全文索引的变化7.10.4 全文索引的限制和替代方案7.10.5 全文索引的配置和优化7.11 分布式(XA)事务7.11.1 内部XA 事务7.11.2 外部XA 事务7.12 查询缓存7.12.1 MySQL 如何判断缓存命中7.12.2 查询缓存如何使用内存7.12.3 什么情况下查询缓存能发挥作用7.12.4 如何配置和维护查询缓存7.12.5 InnoDB 和查询缓存7.12.6 通用查询缓存优化7.12.7 查询缓存的替代方案7.13 总结第8章 优化服务器设置8.1 MySQL 配置的工作原理8.1.1 语法、作用域和动态性8.1.2 设置变量的副作用8.1.3 入门8.1.4 通过基准测试迭代优化8.2 什么不该做8.3 创建MySQL 配置文件8.3.1 检查MySQL 服务器状态变量8.4 配置内存使用8.4.1 MySQL 可以使用多少内存?8.4.2 每个连接需要的内存8.4.3 为操作系统保留内存8.4.4 为缓存分配内存8.4.5 InnoDB 缓冲池(Buffer Pool)8.4.6 MyISAM 键缓存(Key Caches)8.4.7 线程缓存8.4.8 表缓存(Table Cache)8.4.9 InnoDB 数据字典(Data Dictionary)8.5 配置MySQL 的I/O 行为8.5.1 InnoDB I/O 配置8.5.2 MyISAM 的I/O 配置8.6 配置MySQL 并发8.6.1 InnoDB 并发配置8.6.2 MyISAM 并发配置8.7 基于工作负载的配置8.7.1 优化BLOB 和TEXT 的场景8.7.2 优化排序(Filesorts)8.8 完成基本配置8.9 安全和稳定的设置8.10 高级InnoDB 设置8.11 总结第9章 操作系统和硬件优化第10章 复制第11章 可扩展的MySQL第12章 高可用性第13章 云端的MySQL第14章 应用层优化第15章 备份与恢复第16章 MySQL 用户工具附录A MySQL 分支与变种附录B MySQL 服务器状态附录C 大文件传输附录D EXPLAIN附录E 锁的调试附录F 在MySQL 上使用Sphinx索引
  • 内容简介:
      《高性能MySQL(第3版)》是MySQL 领域的经典之作,拥有广泛的影响力。第3 版更新了大量的内容,不但涵盖了MySQL5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16章和6 个附录,内容涵盖MySQL架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的MySQL和MySQL相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。  《高性能MySQL(第3版)》不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。
  • 作者简介:
      BaronSchwartz,是一位软件工程师,居住在弗吉尼亚州的Charlottesville,网络常用名是Xaprb,这是按照QWERTY键盘的顺序在Dvorak键盘上打出来的名字。在不忙于解决有趣的编程挑战时,Baron会和他的妻子Lynn以及小狗Carbon一起享受闲暇的时光。他有一个软件工程方面的博客。   PeterZaitsev,曾经是MySQLAB公司高性能组的经理,目前在运作mysqlperformanceblog.com网站。他擅长于帮助那些每天有数以百万计访问量的网站的管理员解决问题,这些网站通常需要几百台机器来处理TB级的数据。他常常为了解决一个问题而不停地升级硬件和软件(比如查询优化)。Peter还经常在各种会议上演讲。   VadimTkachenko,曾经是MySQLAB公司的性能工程师。作为一名在多线程编程和同步方面的专家,他的主要工作是基准测试、性能剖析,以及找出系统的性能瓶颈。他还在性能监控和调优方面做了一些工作,使得MySQL在多核机器  宁海元,有超过十年的数据库管理经验,从最初的SQLServer2000到Oracle再到MySQL,擅长数据库高可用架构、性能优化和故障诊断。2007年加入淘宝,带领淘宝DBA团队完成
  • 目录:
    推荐序前言第1章 MySQL 架构与历史1.1 MySQL 逻辑架构1.1.1 连接管理与安全性1.1.2 优化与执行1.2 并发控制1.2.1 读写锁1.2.2 锁粒度1.3 事务1.3.1 隔离级别1.3.2 死锁1.3.3 事务日志1.3.4 MySQL 中的事务1.4 多版本并发控制1.5 MySQL 的存储引擎1.5.1 InnoDB 存储引擎1.5.2 MyISAM 存储引擎1.5.3 MySQL 内建的其他存储引擎1.5.4 第三方存储引擎1.5.5 选择合适的引擎1.5.6 转换表的引擎1.6 MySQL 时间线(Timeline)1.7 MySQL 的开发模式1.8 总结第2章 MySQL 基准测试2.1 为什么需要基准测试2.2 基准测试的策略2.2.1 测试何种指标2.3 基准测试方法2.3.1 设计和规划基准测试2.3.2 基准测试应该运行多长时间2.3.3 获取系统性能和状态2.3.4 获得准确的测试结果2.3.5 运行基准测试并分析结果2.3.6 绘图的重要性2.4 基准测试工具2.4.1 集成式测试工具2.4.2 单组件式测试工具2.5 基准测试案例2.5.1 http_load2.5.2 MySQL 基准测试套件2.5.3 sysbench2.5.4 数据库测试套件中的dbt2 TPC-C 测试2.5.5 Percona 的TPCC-MySQL 测试工具2.6 总结第3章 服务器性能剖析3.1 性能优化简介3.1.1 通过性能剖析进行优化3.1.2 理解性能剖析3.2 对应用程序进行性能剖析3.2.1 测量PHP 应用程序3.3 剖析MySQL 查询3.3.1 剖析服务器负载3.3.2 剖析单条查询3.3.3 使用性能剖析3.4 诊断间歇性问题3.4.1 单条查询问题还是服务器问题3.4.2 捕获诊断数据3.4.3 一个诊断案例3.5 其他剖析工具3.5.1 使用USER_STATISTICS 表3.5.2 使用strace3.6 总结第4章 Schema 与数据类型优化4.1 选择优化的数据类型4.1.1 整数类型4.1.2 实数类型4.1.3 字符串类型4.1.4 日期和时间类型4.1.5 位数据类型4.1.6 选择标识符(identifier)4.1.7 特殊类型数据4.2 MySQL schema 设计中的陷阱4.3 范式和反范式4.3.1 范式的优点和缺点4.3.2 反范式的优点和缺点4.3.3 混用范式化和反范式化4.4 缓存表和汇总表4.4.1 物化视图4.4.2 计数器表4.5 加快ALTER TABLE 操作的速度4.5.1 只修改.frm 文件4.5.2 快速创建MyISAM 索引4.6 总结第5章 创建高性能的索引5.1 索引基础5.1.1 索引的类型5.2 索引的优点5.3 高性能的索引策略5.3.1 独立的列5.3.2 前缀索引和索引选择性5.3.3 多列索引5.3.4 选择合适的索引列顺序5.3.5 聚簇索引5.3.6 覆盖索引5.3.7 使用索引扫描来做排序5.3.8 压缩(前缀压缩)索引5.3.9 冗余和重复索引5.3.10 未使用的索引5.3.11 索引和锁5.4 索引案例学习5.4.1 支持多种过滤条件5.4.2 避免多个范围条件5.4.3 优化排序5.5 维护索引和表5.5.1 找到并修复损坏的表5.5.2 更新索引统计信息5.5.3 减少索引和数据的碎片5.6 总结第6章 查询性能优化6.1 为什么查询速度会慢6.2 慢查询基础:优化数据访问6.2.1 是否向服务器请求了不需要的数据6.2.2 MySQL 是否在扫描额外的记录6.3 重构查询的方式6.3.1 一个复杂查询还是多个简单查询6.3.2 切分查询6.3.3 分解关联查询6.4 查询执行的基础6.4.1 MySQL 客户端/ 服务器通信协议6.4.2 查询缓存6.4.3 查询优化处理6.4.4 查询执行引擎6.4.5 返回结果给客户端6.5 MySQL 查询优化器的局限性6.5.1 关联子查询6.5.2 UNION 的限制6.5.3 索引合并优化6.5.4 等值传递6.5.5 并行执行6.5.6 哈希关联6.5.7 松散索引扫描6.5.8 最大值和最小值优化6.5.9 在同一个表上查询和更新6.6 查询优化器的提示(hint)6.7 优化特定类型的查询6.7.1 优化COUNT() 查询6.7.2 优化关联查询6.7.3 优化子查询6.7.4 优化GROUP BY 和DISTINCT6.7.5 优化LIMIT 分页6.7.6 优化SQL_CALC_FOUND_ROWS6.7.7 优化UNION 查询6.7.8 静态查询分析6.7.9 使用用户自定义变量6.8 案例学习6.8.1 使用MySQL 构建一个队列表6.8.2 计算两点之间的距离6.8.3 使用用户自定义函数6.9 总结第7章 MySQL 高级特性7.1 分区表7.1.1 分区表的原理7.1.2 分区表的类型7.1.3 如何使用分区表7.1.4 什么情况下会出问题7.1.5 查询优化7.1.6 合并表7.2 视图7.2.1 可更新视图7.2.2 视图对性能的影响7.2.3 视图的限制7.3 外键约束7.4 在MySQL 内部存储代码7.4.1 存储过程和函数7.4.2 触发器7.4.3 事件7.4.4 在存储程序中保留注释7.5 游标7.6 绑定变量7.6.1 绑定变量的优化7.6.2 SQL 接口的绑定变量7.6.3 绑定变量的限制7.7 用户自定义函数7.8 插件7.9 字符集和校对7.9.1 MySQL 如何使用字符集7.9.2 选择字符集和校对规则7.9.3 字符集和校对规则如何影响查询7.10 全文索引7.10.1 自然语言的全文索引7.10.2 布尔全文索引7.10.3 MySQL5.1 中全文索引的变化7.10.4 全文索引的限制和替代方案7.10.5 全文索引的配置和优化7.11 分布式(XA)事务7.11.1 内部XA 事务7.11.2 外部XA 事务7.12 查询缓存7.12.1 MySQL 如何判断缓存命中7.12.2 查询缓存如何使用内存7.12.3 什么情况下查询缓存能发挥作用7.12.4 如何配置和维护查询缓存7.12.5 InnoDB 和查询缓存7.12.6 通用查询缓存优化7.12.7 查询缓存的替代方案7.13 总结第8章 优化服务器设置8.1 MySQL 配置的工作原理8.1.1 语法、作用域和动态性8.1.2 设置变量的副作用8.1.3 入门8.1.4 通过基准测试迭代优化8.2 什么不该做8.3 创建MySQL 配置文件8.3.1 检查MySQL 服务器状态变量8.4 配置内存使用8.4.1 MySQL 可以使用多少内存?8.4.2 每个连接需要的内存8.4.3 为操作系统保留内存8.4.4 为缓存分配内存8.4.5 InnoDB 缓冲池(Buffer Pool)8.4.6 MyISAM 键缓存(Key Caches)8.4.7 线程缓存8.4.8 表缓存(Table Cache)8.4.9 InnoDB 数据字典(Data Dictionary)8.5 配置MySQL 的I/O 行为8.5.1 InnoDB I/O 配置8.5.2 MyISAM 的I/O 配置8.6 配置MySQL 并发8.6.1 InnoDB 并发配置8.6.2 MyISAM 并发配置8.7 基于工作负载的配置8.7.1 优化BLOB 和TEXT 的场景8.7.2 优化排序(Filesorts)8.8 完成基本配置8.9 安全和稳定的设置8.10 高级InnoDB 设置8.11 总结第9章 操作系统和硬件优化第10章 复制第11章 可扩展的MySQL第12章 高可用性第13章 云端的MySQL第14章 应用层优化第15章 备份与恢复第16章 MySQL 用户工具附录A MySQL 分支与变种附录B MySQL 服务器状态附录C 大文件传输附录D EXPLAIN附录E 锁的调试附录F 在MySQL 上使用Sphinx索引
查看详情
好书推荐 / 更多
高性能MySQL
20世纪思想史:从弗洛伊德到互联网
[英]彼得·沃森 著;杨阳 译;张凤
高性能MySQL
想象一朵未来的玫瑰
[葡]费尔南多·佩索阿 著;杨铁军 译
高性能MySQL
语言与死亡/当代激进思想家译丛
[意]吉奥乔·阿甘本 著
高性能MySQL
爸爸妈妈,请做我的摄影师:十万父母拍娃智慧分享儿童摄影
枫糖盒子 著
高性能MySQL
陈规再造:巫鸿美术史文集卷三
[美]巫鸿 著;郑岩 编
高性能MySQL
另一个世界:中国记忆1961-1962
[瑞典]林西莉 著;李之义 译
高性能MySQL
生活,在别处:海明威影像集
鲍里斯·维多夫斯基 著;吴天楚 译;[美国]玛瑞儿·海明威;高方;王天宇
高性能MySQL
大西洋的故事
[英]西蒙·温彻斯特(Simon Winchester) 著
高性能MySQL
图说勃鲁盖尔
[日]冈部纮三 著;曹逸冰 译
高性能MySQL
巴别塔(我要世界都听见我的声音,我曾被压抑,但绝不沉默。)(读客外国小说文库)
[英]A.S.拜厄特 著;王一鸣 译
高性能MySQL
四十二年,我的"恶邻"李敖大师
林恒范 著;[中国台湾]林丽蘋 口述
高性能MySQL
灭绝与演化:化石中的生命全史
[美]尼尔斯·艾崔奇 著;周亚纯 译;董丽萍