目 录
第1章 DBA五分钟速成 1
1.1 识别性能问题 2
1.1.1 寻找运行缓慢的SQL语句 2
1.1.2 确认低效查询 3
1.2 优化查询 6
1.2.1 不应该做的事情 6
1.2.2 确认优化 7
1.2.3 正确的方式 7
1.2.4 备选的解决方案 9
1.2 本章小结 9
第2章 基本的分析命令 11
2.1 EXPLAIN命令 12
2.1.1 EXPLAIN PARTITIONS命令 14
2.1.2 EXPLAIN EXTENDED命令 15
2.2 SHOW CREATE TABLE命令 16
2.3 SHOW INDEXES命令 18
2.4 SHOW TABLE STATUS命令 19
2.5 SHOW STATUS命令 22
2.6 SHOW VARIABLES命令 25
2.7 INFORMATION_SCHEMA 26
2.8 本章小结 27
第3章 深入理解MySQL的索引 29
3.1 示例表 30
3.2 MySQL索引用法 31
3.2.1 数据完整性 32
3.2.2 优化数据访问 33
3.2.3 表连接 35
3.2.4 结果排序 35
3.2.5 聚合操作 35
3.3 关于存储引擎 36
3.4 索引专业术语 37
3.5 MySQL索引类型 38
3.5.1 索引数据结构理论 39
3.5.2 MySQL实现 43
3.6 MySQL分区 54
3.7 本章小结 55
第4章 创建MySQL索引 57
4.1 本章范例中用到的表 58
4.2 已有的索引 59
4.3 单列索引 61
4.3.1 创建单列索引的语法 61
4.3.2 利用索引限制查询读取的行数 62
4.3.3 使用索引连接表 64
4.3.4 理解索引的基数 66
4.3.5 使用索引进行模式匹配 69
4.3.6 选择唯一的行 71
4.3.7 结果排序 73
4.4 多列索引 75
4.4.1 确定使用何种索引 75
4.4.2 多列索引的语法 79
4.4.3 创建更好的索引 79
4.4.4 多个列上的索引 82
4.4.5 合并WHERE和ORDER BY语句 83
4.4.6 MySQL优化器的特性 85
4.4.7 查询提示 88
4.4.8 复杂查询 92
4.5 添加索引造成的影响 93
4.5.1 DML影响 93
4.5.2 DDL影响 96
4.5.3 磁盘空间影响 97
4.6 MySQL的限制和不足 100
4.6.1 基于开销的优化器 100
4.6.2 指定QEP 100
4.6.3 索引的统计信息 100
4.6.4 基于函数的索引 101
4.6.5 一个表上的多个索引 101
4.7 本章小结 101
第5章 创建更好的MySQL索引 103
5.1 更好的索引 104
5.1.1 覆盖索引 104
5.1.2 存储引擎的含义 109
5.1.3 局部索引 110
5.2 本章小结 114
第6章 MySQL配置选项 117
6.1 内存相关的系统变量 118
6.1.1 key_buffer_size 120
6.1.2 命名码缓冲区 121
6.1.3 innodb_buffer_pool_size 122
6.1.4 innodb_additional_mem_pool_size 124
6.1.5 query_cache_size 125
6.1.6 max_heap_table_size 126
6.1.7 tmp_table_size 127
6.1.8 join_buffer_size 129
6.1.9 sort_buffer_size 129
6.1.10 read_buffer_size 130
6.1.11 read_rnd_buffer_size 130
6.2 有关基础工具的变量 130
6.2.1 slow_query_log 131
6.2.2 slow_query_log_file 131
6.2.3 general_log 131
6.2.4 general_log_file 131
6.2.5 long_query_time 132
6.2.6 log_output 132
6.2.7 profiling 132
6.3 其他优化变量 133
6.3.1 optimizer_switch 133
6.3.2 default_storage_engine 133
6.3.3 max_allowed_packet 134
6.3.4 sql_mode 134
6.3.5 innodb_strict_mode 134
6.4 其他变量 134
6.5 本章小结 135
第7章 SQL的生命周期 137
7.1 截取SQL语句 138
7.1.1 全面查询日志 139
7.1.2 慢查询日志 140
7.1.3 二进制日志 142
7.1.4 进程列表 143
7.1.5 引擎状态 144
7.1.6 MySQL连接器 145
7.1.7 应用程序代码 146
7.1.8 INFORMATION_SCHEMA 148
7.1.9 PERFORMANCE_SCHEMA 148
7.1.10 SQL语句统计插件 148
7.1.11 MySQL Proxy 149
7.1.12 TCP/IP 149
7.2 识别有问题的语句 149
7.2.1 慢查询日志分析 152
7.2.2 TCP/IP分析 154
7.3 确认语句执行 156
7.3.1 环境 156
7.3.2 时间统计 157
7.4 语句分析 158
7.5 语句优化 159
7.6 结果验证 159
7.7 本章小结 160
第8章 性能优化之隐藏秘籍 161
8.1 索引管理优化 162
8.1.1 整合DDL语句 162
8.1.2 去除重复索引 163
8.1.3 删除不用的索引 164
8.1.4 监控无效的索引 165
8.2 索引列的改进 165
8.2.1 数据类型 165
8.2.2 列的类型 168
8.3 其他SQL优化 170
8.3.1 减少SQL语句 171
8.3.2 简化SQL语句 178
8.3.3 使用MySQL的复制功能 180
8.4 本章小结 181
第9章 MySQL EXPLAIN命令详解 183
9.1 语法 184
9.2 各列详解 185
9.2.1 key 187
9.2.2 rows 187
9.2.3 possible_keys 190
9.2.4 key_len 190
9.2.5 table 192
9.2.6 select_type 193
9.2.7 partitions 194
9.2.8 Extra 195
9.2.9 id 197
9.2.10 ref 197
9.2.11 filtered 197
9.2.12 type 198
9.3 解释EXPLAIN输出结果 198
9.4 本章小结 201
· · · · · · (
收起)
0 有用 棣琦 2016-01-31 11:36:44
这本书挺好的,很薄的小册子,我看完一遍之后去面试,说的面试官一愣一愣的
0 有用 Jaskey 2014-10-26 23:32:38
本来内容就不太多,大多关于索引和explain命令。译者的翻译还奇差无比,不单只英文不太行,看得出来中文都有问题,很多句子根本就是病句。
0 有用 flowingtc 2015-03-03 13:40:08
仔细看到了第五章,主要了解了一些MySQL优化的分析命令和索引知识,讲解的一般,翻译也一般,后面几章草草的翻阅了一下。
0 有用 北在南方 2013-08-03 15:33:32
比较基础。还是推荐看《高性能mysql》
0 有用 SmartShu 2019-07-09 22:15:21
我只想说, 懂的人自然懂
0 有用 SmartShu 2019-07-09 22:15:21
我只想说, 懂的人自然懂
0 有用 曹麦穗 2019-03-15 00:10:49
买了,没发挥作用
0 有用 白衣卿相 2018-12-23 15:01:07
一个博客就可以讲完的索引,没什么亮点,很多也晦涩难懂,但是最后都会推荐网站,像是为网站引流的
0 有用 木八拉东 2018-11-11 20:51:22
翻译的极烂
0 有用 小老猫 2018-03-24 11:42:28
每本书都有他的一个主题,特别是外文书籍,不要企图一本书把方方面面都讲全讲精,而是自己要根据自身的不足需求去选择相应主题的书。本书书如其名,一本干货书,实践性很强!一步一步告诉你如何做SQL的优化。如果你想尝试去了解下如何动手去优化SQL,那么这本书这是当仁不让的首选。