MySQL8查询性能优化杰斯帕·威斯堡·克罗有限公司计算 pdf下载pdf下载

MySQL8查询性能优化杰斯帕·威斯堡·克罗有限公司计算百度网盘pdf下载

作者:
简介:本篇提供书籍《MySQL8查询性能优化杰斯帕·威斯堡·克罗有限公司计算》百度网盘pdf下载
出版社:读买天下图书专营店
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

  商品基本信息,请以下列介绍为准
商品名称:MySQL 8查询性能优化
作者:[澳]杰斯帕·威斯堡·克罗
定价:158.0
出版社:清华大学出版社有限公司
出版日期:2021-08-01
ISBN:9787302583912
印次:1
版次:1
装帧:
开本:16开

  内容简介
监控性能,找出效果不佳的查询
选取要优化的查询,优选限度地提高收益
使用EXPLAINANALYZE和VisualExin等工具来分析查询
借助多种策略慢查询
正确使用索引和直方图,创建快速的执行计划
了解并分析锁,从而解决争用问题,提升系统吞吐量

  目录
第Ⅰ部分 入门
第1章 MySQL性能优化
1.1 通盘考虑
1.2 监控
1.3 查询的生命周期
1.4 本章小结
第2章 查询优化方法论
2.1 综述
2.2 核实问题
2.3 确定原因
2.4 确定解决方案
2.5 实施解决方案
2.6 主动工作
2.7 本章小结
第3章 使用Syenc行基准测试
3.1 实践
3.2 标准TPC基准测试
3.3 通用的基准测试工具
3.4 安装Syench
3.5 执行基准测试
3.6 创建自定义基准测试
3.6.1 自定义脚本概述
3.6.2 定义选项
3.6.3 run命令
3.6.4 prepare命令
3.6.5 cleanup命令
3.6.6 注册命令
3.7 本章小结
第4章 测试数据
4.1 下载示例数据库
4.2 world数据库
4.2.1 方案
4.2.2 安装
4.3 world_x数据库
4.3.1 方案
4.3.2 安装
4.4 sakila数据库
4.4.1 方案
4.4.2 安装
4.5 employees数据库
4.5.1 方案
4.5.2 安装
4.6 其他数据库
4.7 本章小结
第Ⅱ部分 信息来源
第5章 performance库
5.1 术语
5.2 线程
5.3 instrument
5.4 消费者
5.5 事件
5.5.1 事件类型
5.5.2 事件范围
5.5.3 事件嵌套
5.5.4 事件属性
5.6 Actor与对象
5.7 摘要
5.8 表类型
5.9 动态配置
5.10 本章小结
第6章 syr/> 6.ys库配置
6.2 格式化函数
6.3 视图
6.4 辅助函数与过程
6.5 本章小结
第7章 information库
7.1 何为information库
7.2 权限
7.3 视图
7.3.1 系统信息
7.3.2 方案信息
7.3.3
7.3.4 权限信息
7.4 索引统计数据缓存
7.5 本章小结
第8章 SHOW语句
8.1 与information库的关系
8.2 与performance库的关系
8.3 引擎状态
8.4 与制日志
8.4.1 列出制日志
8.4.2 查看日志事件
8.4.3 显示连接的副本
8.5 其他语句
8.6 本章小结
第9章 慢查询日志
9.1 配置
9.2 日志事件
9.3
9.4 本章小结
第Ⅲ部分 工具
第10章 MySQL Enterprise Monitor
10.1 概述
10.2 安装
10.2.1 下载
10.2.2 安装
10.3 启动和停止Service Manager
10.3.1 在Microsoft Windows中启动和停止Service Manager
10.3.2 在Linux中启动和停止Service Manager
10.4 添加MySQL实例
10.5 图形管理界面
10.5.1 通用导航
10.5.2 建议器
10.5.3 时序图
10.5.4 查询分析器
10.6 本章小结
第11章 MySQL Workbench
11.1 安装
11.1.1 Microsoft Windowr/> 11.1.2 Enterprise Linux
11.1.3 Debian和Ubuntu
11.2 创建连接
11.3 使用MySQL Workbench
11.3.1 概要
11.3.2 配置
11.3.3 设置
11.3.4 重新格式化查询
11.4 EER图
11.5 本章小结
第12章 MySQL shell
12.1 概要
12.1.1 安装MySQL shell
12.1.2 调用MySQL shell
12.1.3 创建连接
12.1.4 语言模式
12.1.5 内建帮助
12.1.6 内建全局对象
12.2 提示符
12.2.1 内置提示符
12.2.2 自定义提示符
12.2.3 Powerline和Awesome字体
12.3 使用外部模块
12.4 报表基础架构
12.4.1 报表信息和帮助
12.4.2 执行报表
12.4.3 添加自己的报表
12.5 r/> 12.6 本章小结
第Ⅳ部分 方案考量与查询优化器
第13章 数据类型
13.1 为何是数据类型
13.1.1 数据验证
13.1.2 文档
13.1.3 优化存储
13.1.4 性能
13.1.5 正确排序
13.2 MySQL的数据类型
13.2.1 数值类型
13.2.2 日期和时间类型
13.2.3 字符串与制类型
13.2.4 JSON数据类型
13.2.5 空间数据类型
13.2.6 混合数据类型
13.3 性能
13.4 应该选择何种数据类型
13.5 本章小结
第14章 索引
14.1 什么是索引
14.2 索引的概念
14.2.1 键与索引
14.2.2 索引
14.2.3 主键
14.2.4 二级索引
14.2.5 簇聚索引
14.2.6 覆盖索引
14.3 索引的限制
14.4 SQL语法
14.4.1 创建带有索引的表
14.4.2 添加索引
14.4.3 移除索引
14.5 索引的缺点是什么?
14.5.1 存储
14.5.2 更新索引
14.5.3 优化器
14.6 索引类型
14.6.1 B-tree索引
14.6.2 全文索引
14.6.3 空间索引
14.6.4 多值索引
14.6.5 哈希索引
14.7 索引的特性
14.7.1 函数索引
14.7.2 前缀索引
14.7.3 不可见索引
14.7.4 降序索引
14.7.5 分区与索引
14.7.6 自生成索引
14.8 InnoDB与索引
14.8.1 簇聚索引
14.8.2 二级索引
14.8.3 建议
14.8.4 #佳用例
14.9 索引策略
14.9.1 何时添加或者移除索引?
14.9.2 主键的选择
14.9.3 添加二级索引
14.9.4 多列索引
14.9.5 覆盖索引
14.10 本章小结
第15章 索引统计信息
15.1 何为索引统计信息?
15.2 InnoDB与索引统计信息
15.2.1 统计信息是如何被收集的?
15.2.2 页采样
15.2.3 事务隔离级别
15.2.4 配置统计信息类型
15.3 持久索引统计信息
15.3.1 配置
15.3.2 索引统计信息表
15.4 临时索引统计信息
15.5 监控
15.5.1 information库中的STATISTICS视图
15.5.2 SHOW INDEX 语句
15.5.3 information库中的INN0DB_TABLESTATS视图
15.5.4 information库中的TABLES视图及SHOW TABLE STATUS语句
15.6 更新统计信息
15.6.1 自动更新
15.6.2 ANALYZE TABLE语句
15.6.3 mysqlcheck程序
15.7 本章小结
第16章 直方图
16.1 何为直方图?
16.2 何时应该添加直方图信息?
16.3 直方图内部信息
16.3.1 bucket
16.3.2 累积频率
16.3.3 直方图类型
16.4 直方图的添加与维护
16.4.1 直方图的创建与更新
16.4.2 采样
16.4.3 删除直方图
16.5 查看直方图数据
16.6 直方图报告示例
16.6.1 列出所有直方图
16.6.2 列出一个直方图的所有信息
16.6.3 列出一个单值直方图的桶信息
16.6.4 列出一个等高直方图的桶信息
16.7 查询示例
16.8 本章小结
第17章 查询优化器
17.1 转换
17.2 基于成本的优化
17.2.1 基础:单表SELECTr/> 17.2.2 表联接顺序
17.2.3 默认过滤效果
17.2.4 查询成本
17.3 联接算法
17.3.1 嵌套循环
17.3.2 块嵌套循环
17.3.3 哈希联接
17.4 联接优化
17.4.1 索引合并
17.4.2 多范围读(MRR)
17.4.3 批量key访问(BKA)
17.4.4 其他优化
17.5 配置优化器
17.5.1 引擎成本
17.5.2 服务器成本
17.5.3 优化器开关
17.5.4 优化器提示
17.5.5 索引提示
17.5.6 配置选项
17.6 资源组
17.6.1 获取资源组相关信息
17.6.2 管理资源组
17.6.3 分配资源组
17.6.4 性能考量
17.7 本章小结
第18章 锁原理与监控
18.1 为何会需要锁?
18.2 锁访问级别
18.3 锁粒度
18.3.1 用户级别锁
18.3.2 刷新锁
18.3.3 元数据锁
18.3.4 显式表锁
18.3.5 隐式表锁
18.3.6 记录锁
18.3.7 gap锁、next-key锁以及预测锁
18.3.8 插入意向锁
18.3.9 自增锁
18.3.10 备份锁
18.3.11 日志锁
18.4 获取锁失败
18.4.1 元数据锁和备份锁等待超时
18.4.2 InnoDB锁等待超时
18.4.3 死锁
18.5 减少锁相关的问题
18.5.1 事务大小与期限
18.5.2 索引
18.5.3 记录访问顺序
18.5.4 事务隔离级别
18.5.5 抢占锁
18.6 监控锁
18.6.1 performance库
18.6.2 syr/> 18.6.3 状态计数器与InnoDB指标
18.6.4 InnoDB锁监控与死锁日志
18.7 本章小结
第Ⅴ部分 查询分析
第19章 查找待优化的查询
19.1 performance库
19.1.1 语句事件表
19.1.2 prepared语句的
19.1.3 表的I/O
19.1.4 文件 I/O信息
19.1.5 错误表
19.2 syr/> 19.2.1 语句视图
19.2.2 表I/O视图
19.2.3 文件I/O视图
19.2.4 语句性能分析器
19.3 MySQL Workbench
19.3.1 性能报告
19.3.2 客户端连接报告
19.4 MySQL Enterprise Monitor
19.4.1 查询分析器
19.4.2 时间序列图
19.4.3 即席查询报告
19.5 慢查询日志
19.6 本章小结
第20章 分析查询
20.1 EXPLAIN用法
20.1.1 显式查询的用法
20.1.2 EXPLAIN ANALYZE
20.1.3 连接的用法
20.2 EXPLAIN格式
20.2.1 传统格式
20.2.2 JSON格式
20.2.3 树状格式
20.2.4 Visual Exin
20.3 EXPLAIN输出
20.3.1 EXPLAIN字段
20.3.2 选择类型
20.3.3 访问类型
20.3.4 Extra信息
20.4 EXPLAIN示例
20.4.1 单表,全表扫描
20.4.2 单表,索引访问
20.4.3 两张表和覆盖索引
20.4.4 多列索引
20.4.5 两张表并带有子查询和排序
20.5 优化器跟踪
20.6 performance库事件分析
20.6.1 检查存储过程
20.6.2 分析阶段事件
20.6.3 使用sys.ps_trace_thread( )过行分析
20.6.4 使用ps_trace_statement_digest( )过行分析
20.7 本章小结
第21章 事务
21.1 事务的影响
21.1.1 锁
21.1.2 undo日志
21.2 INN0DB_TRX
21.3 InnoDB监视器
21.4 INN0DB_METRICS和sys.metricr/> 21.5 performance库事务
21.5.1 事务事件及其语句
21.5.2 事务表
21.6 本章小结
第22章 诊断锁争用
22.1 刷新锁
22.1.1 症状
22.1.2 原因
22.1.3 构建
22.1.4 调研
22.1.5 解决方案
22.1.6
22.2 元数据锁和方案锁
22.2.1 症状
22.2.2 原因
22.2.3 构建
22.2.4 调研
22.2.5 解决方案
22.2.6
22.3 记录锁
22.3.1 症状
22.3.2 原因
22.3.3 构建
22.3.4 调研
22.3.5 解决方案
22.3.6
22.4 死锁
22.4.1 症状
22.4.2 原因
22.4.3 构建
22.4.4 调研
22.4.5 解决方案
22.4.6
22.5 本章小结
第Ⅵ部分 提升查询性能
第23章 配置
23.1 #佳实践
23.2 InnoDB综述
23.3 InnoDB缓冲池
23.3.1 缓冲池大小
23.3.2 缓冲池实例
23.3.3 转储缓冲池
23.3.4 旧块子列表
23.3.5 刷新页
23.4 重做日志
23.4.1 日志缓冲区
23.4.2 日志文件
23.5 并行查询执行
23.6 查询缓冲区
23.7 内部临时表
23.8 本章小结
第24章 改变查询计划
24.1 测试数据
24.2 出现过多全表扫描的症状
24.3 错误查询
24.4 未使用索引
24.4.1 不在多列索引的靠左位置
24.4.2 数据类型不匹配
24.4.3 函数依赖
24.5 改善索引的使用情况
24.5.1 添加覆盖索引
24.5.2 错误索引
24.5.3 重写复杂索引条件
24.6 重写复杂查询
24.6.1 公共表表达式(CTE)
24.6.2 窗口函数
24.6.3 使用联接来重写子查询
24.6.4 将查询拆分为多个部分
24.7 队列系统:SKIP LOCKED
24.8 多个OR或者IN条件
24.9 本章小结
第25章 DDL与批量数据加载
25.1 方案更改
25.1.1 算法
25.1.2 其他考量
25.1.3 删除或者截断表
25.2 数据加载的一般性考量
25.3 以主键顺序r/> 25.3.1 自增长主键
25.3.2 插入已有数据
25.3.3 UUID主键
25.4 InnoDB缓冲池与二级索引
25.5 配置
25.6 事务与加载方式
25.7 MySQL shell并行数据加载
25.8 本章小结
第26章
26.1 概述
26.2 监控
26.2.1 连接表
26.2.2 applier表
26.2.3 日志状态
26.2.4 组表
26.3 连接
26.3.1 事件
26.3.2 网络
26.3.3 维护源信息
26.3.4 写入中继日志
26.4 applier线程
26.4.1 并行applier
26.4.2 主键
26.4.3 放宽数据
26.4.4 过滤器
26.5 将工作负载卸载到副本
26.5.1 读操作的横向扩展
26.5.2 任务分离
26.6 本章小结
第27章 缓存
27.1 缓存,无处不在
27.2 MySQL中的缓存
27.2.1 缓存表
27.2.2 直方图统计信息
27.3 Memcached
27.3.1 独立服务器模式下的Memcached
27.3.2 MySQL InnoDB Memcachedr/> 27.4 ProxySQL
27.5 缓存技巧
27.6 本章小结

  

主要内容
监控性能,找出效果不佳的查询
选取要优化的查询,**限度地提高收益
使用EXPLAIN ANALYZE和Visual Exin等工具来分析查询
借助多种策略慢查询
正确使用索引和直方图,创建快速的执行计划
了解并分析锁,从而解决争用问题,提升系统吞吐量


  前言

本书是面向MySQL数据库管理系统初学者的一本高质量的入门图书。目前国内MySQL技术需求旺盛,各大企业都高薪招聘技术能力强的MySQL数据库开发人员和管理人员。本书根据这样的需求,以MySQL 8版本为基础,针对初学者量身定做,内容注重实战,通过实例的作与分析,读者快速学习和掌握MySQL开发和管理技术。

本书内容

1章主要介绍数据库的技术构成和什么是MySQL括数据库基本概念和MySQL工具。

2章介绍MySQL 8的安装和配置,主括Window台下的安装和配置、Lin台下的安装和配置、如何启动MySQL服务、如何更改MySQL的配置等。

3章介绍MySQL数据库的基本作括创建数据库、删除数据库和MySQL数据库存储引擎。

4章介绍MySQL数据表的基本作,主括创建数据表、查看数据表结构、修改数据表和删除数据表。

5章介绍MySQL中的数据类型和运算符,主括MySQL数据类型介绍、如何选择数据类型和常见运算符介绍。

6章介绍MySQL函数括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数和其他函数。

7章介绍如何查询数据表中的数据,主括基本查询语句、单表查询、使用聚合函数查询、连接查询、子查询、合并查询结果、为表和字段取别名以及使用正则表达式查询。

8章介绍如何插入、更新与删除数据括插入数据、更新数据、删除数据。

9章介绍MySQL中的索引括索引简介、如何创建各种类型的索引和如何删除索引。

10章介绍MySQL中的存储过程和函数括存储过程和函数的创建、调用、查看、修改和删除。

11章介绍MySQL视图,主要介绍视图的概念、创建视图、查看视图、修改视图、更新视图和删除视图。

12章介绍MySQL触发器括创建触发器、查看触发器、触发器的使用和删除触发器。

13章介绍MySQL用户管理,主括MySQL中的各种权限表、账户管理、权限管理和MySQL的访问控制机制。

14章介绍MySQL数据库的备份和恢复,主括数据备份、数据恢复、数据库的迁移和数据表的导出和导入。

15章介绍MySQL日志,主括日志简介、制日志、错误日志、通用查询日志和慢查询日志。

16章介绍如何对MySQ行性能优化括优化简介、优化查询、优化数据库结构和优化MySQL服务器。

17章介绍MySQL Replication数据的作方法和技巧。

18章介绍MySQL Workbench设计MySQL数据库的方法和技巧。

19章介绍MySQL Utilities 管理MySQL数据库的方法和技巧。

20章介绍MySQL Proy作MySQL数据库的方法和技巧。

21章介绍PHP作MySQL数据库的方法和技巧。

22章介绍MySQL存储引擎的工作原理。

23章介绍PHP作MySQL数据库的方法和技巧。

24章介绍PDO数据库抽象类库的使用方法和技巧。

25章介绍开发网上商场的方法和实现过程。

26章介绍论坛系统数据库的设计方法和实现过程。

27章介绍新闻发布系统数据库的设计方法和实现过程。

本书

内容全面:涵盖了所有MySQL的基础知识点,由浅入深地掌握MySQL数据库开发技术。

图文并茂:在介绍案例的过程中,每一个作均有对应步骤和过程说明。这种图文结合的方式使读者在学习过程中能够直观、清晰地看到作的过程以及效果,便于读者更快地理解和掌握。

易学易用:颠覆传统“看”书的观念,变成一本能“作”的图书。

案例丰富:把知识点融汇于系统的案例实训当中,并且结合综合案行讲解和拓展而达到“知其然,并知其所以然”的效果。

提示说明:本书对读者在学习过程中可能会遇到的疑难问题以“提示”的形行说明,以免读者在学过程中走弯路。

值资源:本书共有480个详细实例和16个综合案例源代码,能让读者在实战应用中掌握MySQL的每一项技能。下中赠20小时培训班形式的教学录像,使本书真正体现“自学无忧”,令其物所值。

课件、源码、教学下载

本书课件、源码、教学下载地址可以扫描右侧的二维码获得。

如果下载有问题,请电子邮件联系booksaga@163.com,邮件主题为“MySQL8从入门到精通”。

也可加入本书技术支持(790586917)获取。

读者对象

本书是一本完整介绍MySQL数据库技术的教程,内容丰富、条理清晰、实用性强,适合以下读者学习使用:

? MySQL数据库初学者。

? 对数据库开发有兴趣,希望快速、全面掌握MySQL的人员。

? 对其他数据库有一定的了解,想转到MySQ台上的。

? 高等院校和培训学校相关专业的师生。

鸣谢与技术支持

本书由王英英著,同时李小威、刘增产、王秀荣、王天护、张工厂、刘增杰、刘玉萍、胡同夫、皮素芹、王猛、王攀登、王婷婷、王朵朵、李小威、王维维、张芳、刘玉红等人也参与了写作工作。虽然倾注了众多人员的努力,但由于有限,书中难免有疏漏之处。如果遇到问题或有意见和建议,敬请与我们联系,我们将提供帮助。

著  者

2019年5月



  作者简介
杰斯帕·威斯堡·克罗,自2006年以来,Jesper Wiorg Krogh先后以SQL开发人员和数据库管理员的身份参与到MySQL数据库工作中,并且作为MySQL技术支持团队的一员,工作了8年之久。他曾在MySQL Connect和Oracle OpenWorld上多次发表演讲。除了出版相关书籍外,他也会定期撰写一些以MySQL为主题的博客文章,并为Oracle知识库撰写了约800份文档。此外,JesperWiorg Krogh也为MySQL中的sys库,以及MySQL5.6等相关的OCP 认证考试做出了许多贡献。在2006年转向MySQL及软件开发之前,Jesper Wiorg Krogh 获得计算化学的博士学位。他现在居住在澳大利亚的悉尼时喜欢在户外散步、旅行以及阅读等。其研究领域涉及MySQL集群、MySQL Enterprise Backup(MEB)、性能优化,以及performance库和sys库等。