《高性能MySQL》汇聚了著名MySQL 专家在实践中构建大型系统的多年宝贵经验,指导你如何使用MySQLTF发出快速可靠的系统。本书的第二版着眼于健壮性、安全性及数据完整性,涵盖了 MySQL性能的细微之处。
《高性能MYSQL》指导你深入MYSQL的高级技术,充分利用MySQL的全部强大能力。你将学到如何设计 MySQL的表、索引、查询以及可以将性能发挥到极致的高级特性。另外,你还会在MySQL服务器、操作系统、硬件调优方面得到具体的指导,以充分挖掘出它们的内在潜力。实用又安全的高性能之路就是通过复制来扩展你现有的应用系统,其中也包含了负载平衡、高可用性和故障恢复等技术。
本书第二版针对第一版作了彻底的修订,极大地扩充了原有内容,对所有领域进行了更深入的论述。新增的主要内容包括:
·始终强调性能和可靠性。
·全面论及各数据引擎,并深入讲解InnoDB的优化方法。
·介绍MySQL 5.0和5.1的新特性,例如存储过程、分块数据库、触发器和视图。
·具体细致地讨论如何使用MySQL构建出一个大型的、高伸缩性的系统。
·可用于备份和复制的新方法。
·对高级查询功能特性进行优化,例如全文检索。
·4篇全新的附录。
本书其他一些章节内容包括基准测试、性能分析、备份和安全,并介绍了一些工具和技术,帮你测量、监控和管NMySQL实例。
本书荣获2009年Jolt图书大奖,是不可多得的分享MySQL实用经验的图书。它不但可以帮助MySQL初学者提高使用技巧,更为有经验的MySQL DBA指出了开发高性能MySQL应用的途径。本书包含14章和4个附录,内容覆盖MySQL系统架构、设计应用技巧、SQL语句优化、服务器性能调优、系统配置管理和安全设置、监控分析,以及复制、扩展和备份/还原等主题,每一章的内容自成体系,适合各领域技术人员作选择性的阅读。
目录:
序
前言
第1章:MySQL架构
1.1 MySQL的逻辑架构
1.2 并发控制
1.3 事务
1.4 多版本并发控制
1.5 MySQL的存储引擎
第2章:寻找瓶颈:基准测试(Benchmarking)与性能分析(Profiling)
2.1 为什么要进行基准测试
2.2 基准测试策略
2.3 基准测试工具
2.4 基准测试样例
2.5 性能分析(Profiling)
2.6 分析操作系统
第 3章:架构优化和索引
3.1 选择优化的数据类型
3.2 索引基础知识
3.3 高性能索引策略
3.4 索引实例研究
3.5 索引和表维护
3.6 正则化和非正则化
3.7 加速ALTER TABLE
3.8 对存储引擎的说明
第4章:查询性能优化
4.1 基本原则:优化数据访问
4.2 重构查询的方式
4.3 查询执行基础知识
4.4 MySQL查询优化器的限制
4.5 优化特定类型的查询
4.6 查询优化提示
4.7 用户定义变量
第5章:MySQL高级特性
5.1 MySQL查询缓存
5.2 在MySQL中存储代码
5.3 游标
5.4 准备语句
5.5 用户自定义函数
5.6 视图
5.7 字符集和排序规则
5.8 全文搜索
5.9 外键约束
5.10 合并表和分区
5.11 分布式(XA)事务
第6章:优化服务器设置
6.1 配置基础知识
6.2 通用调优原则
6.3 MySQL I/O调优
6.4 MySQL并发调优
6.5 基于工作负载调优
6.6 每联接(Per-Connection)设置调优
第7章:操作系统和硬件优化
7.1 什么限制了MySQL的性能
7.2 如何为MySQL选择CPU
7.3 平衡内存和磁盘资源
7.4 为从服务器选择硬件
7.5 RAID性能优化
7.6 存储区域网络和网络附加存储
7.7 使用多个磁盘卷
7.8 网络配置
7.9 选择操作系统
7.10 选择文件系统
7.11 线程处理
7.12 交换
7.13 操作系统状态
第8章:复制
8.1 复制概述
8.2 创建复制
8.3 揭示复制的真相
8.4 复制拓扑
8.5 复制和容量规划
8.6 复制管理和维护
8.7 复制问题和解决方案
8.8 复制有多快
8.9 MySQL复制的未来
第9章:伸缩性与高可用性
9.1 术语
9.2 MySQL的伸缩性
9.3 负载平衡
9.4 高可用性
第10章:应用层面的优化
10.1 应用程序性能概述
10.2 Web服务器的议题
10.3 缓存
10.4 扩展MySQL
10.5 可替代的MySQL
第11章:备份与还原
11.1 概况
11.2 要权衡的事项
11.3 管理和备份二进制日志
11.4 数据备份
11.5 从备份中还原
11.6 备份和还原的速度
11.7 备份工具
11.8 脚本化备份
第12章:安全
12.1 术语
12.2 账号的基本知识
12.3 操作系统安全
12.4 网络安全
12.5 数据加密
12.6 在Chroot环境里使用MySQL
第13章:MySQL服务器的状态
13.1 系统变量
13.2 SHOW STATUS
13.3 SHOW INNODB STATUS
13.4 SHOW PROCESSLIST
13.5 SHOW MUTEX STATUS
13.6 复制的状态
13.7 INFORMATION_SCHEMA
第 14章:用于高性能MySQL的工具
14.1 带界面的工具
14.2 监控工具
14.3 分析工具
14.4 MySQL的辅助工具
14.5 更多的信息来源
附录A:大文件传输
附录B:使用EXPLAIN
附录C:在MySQL里使用Sphinx
附录D:锁的调试
索引