高性能MySQL(第二版,影印版)
高性能MySQL(第二版,影印版)
Baron Schwartz, Peter Zaitsev, Vadim Tkachenko, Jeremy D. Zawodny, Arjen Lentz, Derek
出版时间:2009年04月
页数:684
《高性能MySQL》教你如何使用MySQL构建快速、可靠的系统。本书的作者都是知名专家,具有多年构建大型系统的实际经验。本书第二版涵盖了MySQL性能细节并且专注于健壮性、安全性和数据完整性。

《高性能MySQL》深入讲解高级技巧从而让你能够受益于MySQL的全部威力。你将学到如何设计模板、索引、查询和令性能最大化的高级MySQL特性。另外,你将获得详细的指导来为你的MySQL服务器、操作系统和硬件进行性能调优以便发挥它们的全部潜能。同时还包括运用实用、安全和高性能的方法来扩展你的应用,使其具有副本保存、负载均衡、高可用和失败自动切换的功能。

本书第二版进行了全面修改以及很大程度地扩展,对所有专题都进行了更有深度的覆盖。主要的新增内容包括:

* 强调性能和可靠性的每一方面
* 详细涵盖搜索引擎,包括深度调优和InnoDB存储引擎的优化
* MySQL5.0和5.1新功能的效用,包括存储过程、数据库分区、触发器和视图
* 对如何使用MySQL构建大型、高可扩展系统进行了详细的讨论
* 备份和副本的新选项
* 高级查询功能的优化,例如全文检索
* 四个全新的附录

本书的内容还包括基准分析、评测报告、备份、安全性以及帮你测量、监控并管理所安装的MySQL的工具和技巧。

“我向那些初涉MySQL并且现在正准备编写第一个实际应用的新手、和那些已经把基于MySQL的应用优化得不错但还需再上一层楼的有经验用户推荐此书。”
——Michael Widenius,MySQL的初始开发人员
  1. Foreword
  2. Preface
  3. 1. MySQL Architecture
  4. MySQL’s Logical Architecture
  5. Concurrency Control
  6. Transactions
  7. Multiversion Concurrency Control
  8. MySQL’s Storage Engines
  9. 2. Finding Bottlenecks: Benchmarking and Profiling
  10. Why Benchmark?
  11. Benchmarking Strategies
  12. Benchmarking Tactics
  13. Benchmarking Tools
  14. Benchmarking Examples
  15. Profiling
  16. Operating System Profiling
  17. 3. Schema Optimization and Indexing
  18. Choosing Optimal Data Types
  19. Indexing Basics
  20. Indexing Strategies for High Performance
  21. An Indexing Case Study
  22. Index and Table Maintenance
  23. Normalization and Denormalization
  24. Speeding Up ALTER TABLE
  25. Notes on Storage Engines
  26. 4. Query Performance Optimization
  27. Slow Query Basics: Optimize Data Access
  28. Ways to Restructure Queries
  29. Query Execution Basics
  30. Limitations of the MySQL Query Optimizer
  31. Optimizing Specific Types of Queries
  32. Query Optimizer Hints
  33. User-Defined Variables
  34. 5. Advanced MySQL Features
  35. The MySQL Query Cache
  36. Storing Code Inside MySQL
  37. Cursors
  38. Prepared Statements
  39. User-Defined Functions
  40. Views
  41. Character Sets and Collations
  42. Full-Text Searching
  43. Foreign Key Constraints
  44. Merge Tables and Partitioning
  45. Distributed (XA) Transactions
  46. 6. Optimizing Server Setting
  47. Configuration Basics
  48. General Tuning
  49. Tuning MySQL’s I/O Behavior
  50. Tuning MySQL Concurrency
  51. Workload-Based Tuning
  52. Tuning Per-Connection Settings
  53. 7. Operating System and Hardware Optimization
  54. What Limits MySQL’s Performance?
  55. How to Select CPUs for MySQL
  56. Balancing Memory and Disk Resources
  57. Choosing Hardware for a Slave
  58. RAID Performance Optimization
  59. Storage Area Networks and Network-Attached Storage
  60. Using Multiple Disk Volumes
  61. Network Configuration
  62. Choosing an Operating System
  63. Choosing a Filesystem
  64. Threading
  65. Swapping
  66. Operating System Status
  67. 8. Replication
  68. Replication Overview
  69. Setting Up Replication
  70. Replication Under the Hood
  71. Replication Topologies
  72. Replication and Capacity Planning
  73. Replication Administration and Maintenance
  74. Replication Problems and Solutions
  75. How Fast Is Replication?
  76. The Future of MySQL Replication
  77. 9. Scaling and High Availability
  78. Terminology
  79. Scaling MySQL
  80. Load Balancing
  81. High Availability
  82. 10. Application-Level Optimization
  83. Application Performance Overview
  84. Web Server Issues
  85. Caching
  86. Extending MySQL
  87. Alternatives to MySQL
  88. 11. Backup and Recovery
  89. Overview
  90. Considerations and Tradeoffs
  91. Managing and Backing Up Binary Logs
  92. Backing Up Data
  93. Recovering from a Backup
  94. Backup and Recovery Speed
  95. Backup Tools
  96. Scripting Backups
  97. 12. Security
  98. Terminology
  99. Account Basics
  100. Operating System Security
  101. Network Security
  102. Data Encryption
  103. MySQL in a chrooted Environment
  104. 13. MySQL Server Status
  105. System Variables
  106. SHOW STATUS
  107. SHOW INNODB STATUS
  108. SHOW PROCESSLIST
  109. SHOW MUTEX STATUS
  110. Replication Status
  111. INFORMATION_SCHEMA
  112. 14. Tools for High Performance
  113. Interface Tools
  114. Monitoring Tools
  115. Analysis Tools
  116. MySQL Utilities
  117. Sources of Further Information
  118. A. Transferring Large Files
  119. B. Using EXPLAIN
  120. C. Using Sphinx with MySQL
  121. D. Debugging Locks
  122. Index
书名:高性能MySQL(第二版,影印版)
国内出版社:中国电力出版社
出版时间:2009年04月
页数:684
书号:978-7-80205-732-6
原版书出版商:O'Reilly Media
Baron Schwartz
 
Baron Schwartz目前是Percona公司的首席性能架构师。他创造了很多工具和技术,使得MySQL更加易用和可靠。
 
 
Peter Zaitsev
 
Peter Zaitsev是Percona公司的CEO和联合创始人。他是一位数据库内核、计算机硬件和应用扩展性方面的专家。他曾经负责管理MySQL的高性能小组,这项工作一直持续到2006年。
 
 
Vadim Tkachenko
 
Vadim Tkachenko是Percona公司的CTO和联合创始人。他目前负责带领Percona公司的开发小组,开发的产品包括Percona Server、Percona XtraDB集群,以及Percona XtraBackup。
 
 
Jeremy D. Zawodny
 
Jeremy D. Zawodny and his two cats moved from Northwest Ohio to Silicon Valley
in late 1999, so he could work for Yahoo!—just in time to witness the dot-com
bubble bursting firsthand. He spent eight and half years at Yahoo!, helping to put
MySQL and other open source technologies to use in fun, interesting, and often very
big ways.
In recent times, he’s rediscovered his love of aviation, earning a private pilot glider
license in early 2003 and his commercial pilot rating in 2005. Since then he’s spent
far too much of his free time flying gliders out of Hollister, California and the Lake
Tahoe area. He also flies single engine light airplanes now and then, coowning a
Citabria 7KCAB and Cessna 182. Occasional consulting work helps to pay for his
flying addiction.
Jeremy lives in the San Francisco Bay Area of California with his wonderful wife and
their four cats. He blogs at jeremy.zawodny.com/blog.
 
 
Arjen Lentz
 
Arjen Lentz was born in Amsterdam but has lived in Queensland, Australia since the
turn of the millennium, sharing his life these days with his beautiful daughter Phoebe
and black cat Figaro. Originally a C programmer, Arjen was employee #25 at
MySQL AB (2001–2007). After a brief break in 2007, Arjen founded Open Query
(http://openquery.com.au), which develops and provides its own data management
training and consulting services in the Asia Pacific region and beyond. Arjen also
regularly speaks at conferences and user groups. In his abundance of spare time,
Arjen indulges in cooking, gardening, reading, camping, and exploring the RepRap.
Visit his weblog at http://arjen-lentz.livejournal.com.
 
 
Derek
 
The animal on the cover of High Performance MySQL is a sparrow hawk (Accipiter
nisus), a small woodland member of the falcon family found in Eurasia and North
Africa. Sparrow hawks have a long tail and short wings; males are bluish-gray with a
light brown breast, and females are more brown-gray and have an almost fully white
breast. Males are normally somewhat smaller (11 inches) than females (15 inches).
Sparrow hawks live in coniferous woods and feed on small mammals, insects, and
birds. They nest in trees and sometimes on cliff ledges. At the beginning of the
summer, the female lays four to six white eggs, blotched red and brown, in a nest
made in the boughs of the tallest tree available. The male feeds the female and their
young.
Like all hawks, the sparrow hawk is capable of bursts of high speed in flight. Whether
soaring or gliding, the sparrow hawk has a characteristic flap-flap-glide action; its
large tail enables the hawk to twist and turn effortlessly in and out of cover.