标题：Effective MySQL之SQL语句最优化
图书信息
作者：Ronald Bradford 著 李雪锋 译 图书详细信息： ISBN：9787302304296 定价：29元 印次：1-1 装帧：平装 印刷日期：2012-12-7
图书简介
《Effective MySQL之SQL语句最优化》是由MySQL专家Ronald Bradford撰著，书中提供了很多可以用于改进数据库和应用程序性能的最佳实践技巧，并对这些技巧做了详细的解释。本书希望能够通过一步步详细介绍SQL优化的方法，帮助读者分析和调优有问题的SQL语句。主要内容●　找出收集和诊断问题必备的分析命令●　创建MySQL索引来改进查询性能●　掌握MySQL的查询执行计划●　找出影响查询执行和性能的关键配置变量●　用SQL语句优化的生命周期来识别、确认、分析然后优化SQL语句，并检查优化的结果●　学习使用不为常人所知的一些性能技巧来改进索引效率并简化SQL语句
图书前言
作为一名日常DBA，最常重复的任务就是在生产环境中检查和优化运行的SQL语句。在MySQL软件安装、配置以及正常运行之后，监控数据库的性能问题就成为一项经常重复的工作。了解如何正确地截取有问题的SQL语句以及检查并做适当的调整，这已经成为一个专业DBA的必备技能。尽管MySQL是一个关系型数据库管理系统(RDBMS)，有Oracle或者SQL Server背景的有经验的数据库管理员还是需要学习如何在MySQL术语中正确地应用SQL查询分析理论，而这需要阅读并理解查询执行计划(QEP)，了解MySQL优化器功能的限制和不足，还要理解不同的MySQL存储引擎是如何改变索引的高效使用方式的。SQL语句的优化不仅仅是数据库管理员的责任。本书将帮助读者理解MySQL索引和存储引擎是如何运行的，这对一个由数据架构师设计的优化过的数据库来说是更重要的实现考虑因素。软件开发人员将能够截取和分析所有SQL语句，以此来确保性能瓶颈能够在开发早期被发现然后由合适的人去处理。优化SQL语句是改进性能和扩展性的一个关键部分。
图书目录
第1章 DBA五分钟速成 / 11.1 识别性能问题 / 21.1.1 寻找运行缓慢的SQL语句 / 21.1.2 确认低效查询 / 31.2 优化查询 / 61.2.1 不应该做的事情 / 61.2.2 确认优化 / 71.2.3 正确的方式 / 71.2.4 备选的解决方案 / 91.2 本章小结 / 9第2章 基本的分析命令 / 112.1 EXPLAIN命令 / 122.1.1 EXPLAIN PARTITIONS命令 / 142.1.2 EXPLAIN EXTENDED命令 / 152.2 SHOW CREATE TABLE命令 / 162.3 SHOW INDEXES命令 / 182.4 SHOW TABLE STATUS命令 / 192.5 SHOW STATUS命令 / 222.6 SHOW VARIABLES命令 / 252.7 INFORMATION_SCHEMA / 262.8 本章小结 / 27第3章 深入理解MySQL的索引 / 293.1 示例表 / 303.2 MySQL索引用法 / 313.2.1 数据完整性 / 323.2.2 优化数据访问 / 333.2.3 表连接 / 353.2.4 结果排序 / 353.2.5 聚合操作 / 353.3 关于存储引擎 / 363.4 索引专业术语 / 373.5 MySQL索引类型 / 383.5.1 索引数据结构理论 / 393.5.2 MySQL实现 / 433.6 MySQL分区 / 543.7 本章小结 / 55第4章 创建MySQL索引 / 574.1 本章范例中用到的表 / 584.2 已有的索引 / 594.3 单列索引 / 614.3.1 创建单列索引的语法 / 614.3.2 利用索引限制查询读取的行数 / 624.3.3 使用索引连接表 / 644.3.4 理解索引的基数 / 664.3.5 使用索引进行模式匹配 / 694.3.6 选择唯一的行 / 714.3.7 结果排序 / 734.4 多列索引 / 754.4.1 确定使用何种索引 / 754.4.2 多列索引的语法 / 794.4.3 创建更好的索引 / 794.4.4 多个列上的索引 / 824.4.5 合并WHERE和ORDER BY语句 / 834.4.6 MySQL优化器的特性 / 854.4.7 查询提示 / 884.4.8 复杂查询 / 924.5 添加索引造成的影响 / 934.5.1 DML影响 / 934.5.2 DDL影响 / 964.5.3 磁盘空间影响 / 974.6 MySQL的限制和不足 / 1004.6.1 基于开销的优化器 / 1004.6.2 指定QEP / 1004.6.3 索引的统计信息 / 1004.6.4 基于函数的索引 / 1014.6.5 一个表上的多个索引 / 1014.7 本章小结 / 101第5章 创建更好的MySQL索引 / 1035.1 更好的索引 / 1045.1.1 覆盖索引 / 1045.1.2 存储引擎的含义 / 1095.1.3 局部索引 / 1105.2 本章小结 / 114第6章 MySQL配置选项 / 1176.1 内存相关的系统变量 / 1186.1.1 key_buffer_size / 1206.1.2 命名码缓冲区 / 1216.1.3 innodb_buffer_pool_size / 1226.1.4 innodb_additional_mem_pool_size / 1246.1.5 query_cache_size / 1256.1.6 max_heap_table_size / 1266.1.7 tmp_table_size / 1276.1.8 join_buffer_size / 1296.1.9 sort_buffer_size / 1296.1.10 read_buffer_size / 1306.1.11 read_rnd_buffer_size / 1306.2 有关基础工具的变量 / 1306.2.1 slow_query_log / 1316.2.2 slow_query_log_file / 1316.2.3 general_log / 1316.2.4 general_log_file / 1316.2.5 long_query_time / 1326.2.6 log_output / 1326.2.7 profiling / 1326.3 其他优化变量 / 1336.3.1 optimizer_switch / 1336.3.2 default_storage_engine / 1336.3.3 max_allowed_packet / 1346.3.4 sql_mode / 1346.3.5 innodb_strict_mode / 1346.4 其他变量 / 1346.5 本章小结 / 135第7章 SQL的生命周期 / 1377.1 截取SQL语句 / 1387.1.1 全面查询日志 / 1397.1.2 慢查询日志 / 1407.1.3 二进制日志 / 1427.1.4 进程列表 / 1437.1.5 引擎状态 / 1447.1.6 MySQL连接器 / 1457.1.7 应用程序代码 / 1467.1.8 INFORMATION_SCHEMA / 1487.1.9 PERFORMANCE_SCHEMA / 1487.1.10 SQL语句统计插件 / 1487.1.11 MySQL Proxy / 1497.1.12 TCP/IP / 1497.2 识别有问题的语句 / 1497.2.1 慢查询日志分析 / 1527.2.2 TCP/IP分析 / 1547.3 确认语句执行 / 1567.3.1 环境 / 1567.3.2 时间统计 / 1577.4 语句分析 / 1587.5 语句优化 / 1597.6 结果验证 / 1597.7 本章小结 / 160第8章 性能优化之隐藏秘籍 / 1618.1 索引管理优化 / 1628.1.1 整合DDL语句 / 1628.1.2 去除重复索引 / 1638.1.3 删除不用的索引 / 1648.1.4 监控无效的索引 / 1658.2 索引列的改进 / 1658.2.1 数据类型 / 1658.2.2 列的类型 / 1688.3 其他SQL优化 / 1708.3.1 减少SQL语句 / 1718.3.2 简化SQL语句 / 1788.3.3 使用MySQL的复制功能 / 1808.4 本章小结 / 181第9章 MySQL EXPLAIN命令详解 / 1839.1 语法 / 1849.2 各列详解 / 1859.2.1 key / 1879.2.2 rows / 1879.2.3 possible_keys / 1909.2.4 key_len / 1909.2.5 table / 1929.2.6 select_type / 1939.2.7 partitions / 1949.2.8 Extra / 1959.2.9 id / 1979.2.10 ref / 1979.2.11 filtered / 1979.2.12 type / 1989.3 解释EXPLAIN输出结果 / 1989.4 本章小结 / 201[1]