本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
基本信息:
书名:MySQL 8查询性能优化
书码:9787302583912
定价:158.00
出版社:清华大学出版社
内容简介:
● 监控性能,找出效果不佳的查询
● 选取要优化的查询,#大限度地提高收益
● 使用EXPLAIN ANALYZE和Visual Explain等工具来分析查询
● 借助多种策略改进慢查询
● 正确使用索引和直方图,创建快速的执行计划
● 了解并分析锁,从而解决争用问题,提升系统吞吐量
目录:
Ⅰ部分 入门
1章 MySQL性能优化 2
1.1 通盘考虑 2
1.2 监控 3
1.3 查询的生命周期 4
1.4 本章小结 5
2章 查询优化方 6
2.1 综述 6
2.2 核实问题 7
2.3 确定原因 8
2.4 确定解决方案 8
2.5 实施解决方案 8
2.6 主动工作 10
2.7 本章小结 11
3章 使用Sysbench进行基准测试 12
3.1 佳实践 12
3.2 标准TPC基准测试 14
3.3 通用的基准测试工具 14
3.4 安装Sysbench 15
3.5 执行基准测试 20
3.6 创建自定义基准测试 25
3.6.1 自定义脚本概述 25
3.6.2 定义选项 27
3.6.3 run命令 27
3.6.4 prepare命令 29
3.6.5 cleanup命令 31
3.6.6 注册命令 31
3.7 本章小结 32
4章 测试数据 34
4.1 下载示例数据库 34
4.2 world数据库 35
4.2.1 方案 35
4.2.2 安装 36
4.3 world_数据库 36
4.3.1 方案 36
4.3.2 安装 36
4.4 sakila数据库 37
4.4.1 方案 37
4.4.2 安装 40
4.5 employees数据库 41
4.5.1 方案 41
4.5.2 安装 43
4.6 其他数据库 44
4.7 本章小结 44
Ⅱ部分 信息来源
5章 performance库 46
5.1 术语 46
5.2 线程 47
5.3 instrument 50
5.4 消费者 51
5.5 事件 53
5.5.1 事件类型 53
5.5.2 事件范围 53
5.5.3 事件嵌套 54
5.5.4 事件属性 55
5.6 Actor与对象 56
5.7 摘要 56
5.8 表类型 57
5.9 动态配置 58
5.10 本章小结 59
6章 sys库 61
6.1 sys库配置 62
6.2 格式化函数 64
6.3 视图 65
6.4 辅助函数与过程 66
6.5 本章小结 67
7章 information库 68
7.1 何为information库 68
7.2 权限 69
7.3 视图 69
7.3.1 系统信息 69
7.3.2 方案信息 70
7.3.3 性能信息 74
7.3.4 权限信息 77
7.4 索引统计数据缓存 78
7.5 本章小结 79
8章 SHOW语句 80
8.1 与information库的关系 81
8.2 与performance库的关系 82
8.3 引擎状态 83
8.4 复制与二进制日志 84
8.4.1 列出二进制日志 84
8.4.2 查看日志事件 84
8.4.3 显示连接的副本 87
8.5 其他语句 88
8.6 本章小结 90
9章 慢查询日志 92
9.1 配置 93
9.2 日志事件 95
9.3 汇总 96
9.4 本章小结 98
Ⅲ部分 工 具
10章 MySQL Enterprise Monitor 100
10.1 概述 100
10.2 安装 102
10.2.1 下载 102
10.2.2 安装 104
10.3 启动和停止Service Manager 109
10.3.1 在Microsoft Windows中启动和停止Service Manager 109
10.3.2 在Linu中启动和停止Service Manager 110
10.4 添加MySQL实例 111
10.5 图形管理界面 113
10.5.1 通用导航 113
10.5.2 建议器 114
10.5.3 时序图 116
10.5.4 查询分析器 117
10.6 本章小结 118
11章 MySQL Workbench 119
11.1 安装 120
11.1.1 Microsoft Windows 120
11.1.2 Enterprise Linu 7 124
11.1.3 Debian和Ubuntu 127
11.2 创建连接 129
11.3 使用MySQL Workbench 130
11.3.1 概要 130
11.3.2 配置 131
11.3.3 安全设置 133
11.3.4 重新格式化查询 133
11.4 EER图 134
11.5 本章小结 135
12章 MySQL shell 136
12.1 概要 136
12.1.1 安装MySQL shell 137
12.1.2 调用MySQL shell 137
12.1.3 创建连接 137
12.1.4 语言模式 139
12.1.5 内建帮助 140
12.1.6 内建全局对象 141
12.2 提示符 141
12.2.1 内置提示符 141
12.2.2 自定义提示符 143
12.2.3 Powerline和Awesome字体 145
12.3 使用外部模块 146
12.4 报表基础架构 148
12.4.1 报表信息和帮助 148
12.4.2 执行报表 149
12.4.3 添加自己的报表 151
12.5 插件 155
12.6 本章小结 161
Ⅳ部分 方案考量与查询优化器
13章 数据类型 164
13.1 为何是数据类型 164
13.1.1 数据验证 165
13.1.2 文档 166
13.1.3 优化存储 166
13.1.4 性能 167
13.1.5 正确排序 167
13.2 MySQL的数据类型 167
13.2.1 数值类型 168
13.2.2 日期和时间类型 169
13.2.3 字符串与二进制类型 169
13.2.4 JSON数据类型 171
13.2.5 空间数据类型 172
13.2.6 混合数据类型 173
13.3 性能 174
13.4 应该选择何种数据类型 174
13.5 本章小结 176
14章 索引 177
14.1 什么是索引 177
14.2 索引的概念 178
14.2.1 键与索引 178
14.2.2 索引 178
14.2.3 主键 179
14.2.4 二级索引 180
14.2.5 簇聚索引 180
14.2.6 覆盖索引 180
14.3 索引的限制 181
14.4 SQL语法 181
14.4.1 创建带有索引的表 182
14.4.2 添加索引 182
14.4.3 移除索引 183
14.5 索引的缺点是什么? 184
14.5.1 存储 184
14.5.2 更新索引 185
14.5.3 优化器 185
14.6 索引类型 186
14.6.1 B-tree索引 186
14.6.2 全文索引 188
14.6.3 空间索引 189
14.6.4 多值索引 190
14.6.5 哈希索引 193
14.7 索引的特性 195
14.7.1 函数索引 196
14.7.2 前缀索引 196
14.7.3 不可见索引 197
14.7.4 降序索引 198
14.7.5 分区与索引 198
14.7.6 自生成索引 200
14.8 InDB与索引 200
14.8.1 簇聚索引 201
14.8.2 二级索引 201
14.8.3 建议 201
14.8.4 佳用例 201
14.9 索引策略 202
14.9.1 何时添加或者移除索引? 202
14.9.2 主键的选择 203
14.9.3 添加二级索引 203
14.9.4 多列索引 204
14.9.5 覆盖索引 205
14.10 本章小结 205
15章 索引统计信息 206
15.1 何为索引统计信息? 206
15.2 InDB与索引统计信息 207
15.2.1 统计信息是如何被收集的? 207
15.2.2 页采样 208
15.2.3 事务隔离级别 209
15.2.4 配置统计信息类型 209
15.3 持久索引统计信息 209
15.3.1 配置 210
15.3.2 索引统计信息表 211
15.4 临时索引统计信息 214
15.5 监控 215
15.5.1 information库中的STATISTICS视图 215
15.5.2 SHOW INDEX 语句 217
15.5.3 information库中的INNODB_TABLESTATS视图 219
15.5.4 information库中的TABLES视图及SHOW TABLE STATUS语句 220
15.6 更新统计信息 223
15.6.1 自动更新 223
15.6.2 ANALYZE TABLE语句 224
15.6.3 mysqlcheck程序 225
15.7 本章小结 227
16章 直方图 229
16.1 何为直方图? 229
16.2 何时应该添加直方图信息? 230
16.3 直方图内部信息 231
16.3.1 bucket 231
16.3.2 累积频率 232
16.3.3 直方图类型 234
16.4 直方图的添加与维护 236
16.4.1 直方图的创建与更新 236
16.4.2 采样 237
16.4.3 删除直方图 238
16.5 查看直方图数据 238
16.6 直方图报告示例 239
16.6.1 列出所有直方图 240
16.6.2 列出一个直方图的所有信息 240
16.6.3 列出一个单值直方图的桶信息 241
16.6.4 列出一个等高直方图的桶信息 243
16.7 查询示例 244
16.8 本章小结 247
17章 查询优化器 248
17.1 转换 249
17.2 基于成本的优化 249
17.2.1 基础:单表SELECT作 250
17.2.2 表联接顺序 251
17.2.3 默认过滤效果 251
17.2.4 查询成本 252
17.3 联接算法 254
17.3.1 嵌套循环 254
17.3.2 块嵌套循环 257
17.3.3 哈希联接 260
17.4 联接优化 263
17.4.1 索引合并 263
17.4.2 多范围读(MRR) 269
17.4.3 批量key访问(BKA) 270
17.4.4 其他优化 271
17.5 配置优化器 274
MySQL 8开发及实例