1.高性能MySQL(第3版) 2. 深入浅出MySQL 合集 完整版 高清

ab9dde  在  2018-06-19 16:06:36  上传  74.18 MB

高性能

深入浅出

MySQL

“只要你不敢以MySQL专家自诩,又岂敢错过这本神书?”

第3 版更新了大量的内容,不但涵盖了MySQL5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16章和6 个附录,内容涵盖MySQL架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的MySQL和MySQL相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。

推荐序

前言

第1章 MySQL 架构与历史

1.1 MySQL 逻辑架构

1.1.1 连接管理与安全性

1.1.2 优化与执行

1.2 并发控制

1.2.1 读写锁

1.2.2 锁粒度

1.3 事务

1.3.1 隔离级别

1.3.2 死锁

1.3.3 事务日志

1.3.4 MySQL 中的事务

1.4 多版本并发控制

1.5 MySQL 的存储引擎

1.5.1 InnoDB 存储引擎

1.5.2 MyISAM 存储引擎

1.5.3 MySQL 内建的其他存储引擎

1.5.4 第三方存储引擎

1.5.5 选择合适的引擎

1.5.6 转换表的引擎

1.6 MyS

QL 时间线(Timeline)

1.7 MySQL 的开发模式

1.8 总结

第2章 MySQL 基准测试

2.1 为什么需要基准测试

2.2 基准测试的策略

2.2.1 测试何种指标

2.3 基准测试方法

2.3.1 设计和规划基准测试

2.3.2 基准测试应该运行多长时间

2.3.3 获取系统性能和状态

2.3.4 获得准确的测试结果

2.3.5 运行基准测试并分析结果

2.3.6 绘图的重要性

2.4 基准测试工具

2.4.1 集成式测试工具

2.4.2 单组件式测试工具

2.5 基准测试案例

2.5.1 http_load

2.5.2 MySQL 基准测试套件

2.5.3 sysbench

2.5.4 数据库测试套件中的dbt2 TPC-C 测试

2.5.5 Percona 的TPCC-MySQL 测试工具

2.6 总结

第3章 服务器性能剖析

3.1 性能优化简介

3.1.1 通过性能剖析进行优化

3.1.2 理解性能剖析

3.2 对应用程序进行性能剖析

3.2.1 测量PHP 应用程序

3.3 剖析MySQL 查询

3.3.1 剖析服务器负载

3.3.2 剖析单条查询

3.3.3 使用性能剖析

3.4 诊断间歇性问题

3.4.1 单条查询问题还是服务器问题

3.4.2 捕获诊断数据

3.4.3 一个诊断案例

3.5 其他剖析工具

3.5.1 使用USER_STATISTICS 表

3.5.2 使用strace

3.6 总结

第4章 Schema 与数据类型优化

4.1 选择优化的数据类型

4.1.1 整数类型

4.1.2 实数类型

4.1.3 字符串类型

4.1.4 日期和时间类型

4.1.5 位数据类型

4.1.6 选择标识符(identifier)

4.1.7 特殊类型数据

4.2 MySQL schema 设计中的陷阱

4.3 范式和反范式

4.3.1 范式的优点和缺点

4.3.2 反范式的优点和缺点

4.3.3 混用范式化和反范式化

4.4 缓存表和汇总表

4.4.1 物化视图

4.4.2 计数器表

4.5 加快ALTER TABLE 操作的速度

4.5.1 只修改.frm 文件

4.5.2 快速创建MyISAM 索引

4.6 总结

第5章 创建高性能的索引

5.1 索引基础

5.1.1 索引的类型

5.2 索引的优点

5.3 高性能的索引策略

5.3.1 独立的列

5.3.2 前缀索引和索引选择性

5.3.3 多列索引

5.3.4 选择合适的索引列顺序

5.3.5 聚簇索引

5.3.6 覆盖索引

5.3.7 使用索引扫描来做排序

5.3.8 压缩(前缀压缩)索引

5.3.9 冗余和重复索引

5.3.10 未使用的索引

5.3.11 索引和锁

5.4 索引案例学习

5.4.1 支持多种过滤条件

5.4.2 避免多个范围条件

5.4.3 优化排序

5.5 维护索引和表

5.5.1 找到并修复损坏的表

5.5.2 更新索引统计信息

5.5.3 减少索引和数据的碎片

5.6 总结

第6章 查询性能优化

6.1 为什么查询速度会慢

6.2 慢查询基础:优化数据访问

6.2.1 是否向服务器请求了不需要的数据

6.2.2 MySQL 是否在扫描额外的记录

6.3 重构查询的方式

6.3.1 一个复杂查询还是多个简单查询

6.3.2 切分查询

6.3.3 分解关联查询

6.4 查询执行的基础

6.4.1 MySQL 客户端/ 服务器通信协议

6.4.2 查询缓存

6.4.3 查询优化处理

6.4.4 查询执行引擎

6.4.5 返回结果给客户端

6.5 MySQL 查询优化器的局限性

6.5.1 关联子查询

6.5.2 UNION 的限制

6.5.3 索引合并优化

6.5.4 等值传递

6.5.5 并行执行

6.5.6 哈希关联

6.5.7 松散索引扫描

6.5.8 最大值和最小值优化

6.5.9 在同一个表上查询和更新

6.6 查询优化器的提示(hint)

6.7 优化特定类型的查询

6.7.1 优化COUNT() 查询

6.7.2 优化关联查询

6.7.3 优化子查询

6.7.4 优化GROUP BY 和DISTINCT

6.7.5 优化LIMIT 分页

6.7.6 优化SQL_CALC_FOUND_ROWS

6.7.7 优化UNION 查询

6.7.8 静态查询分析

6.7.9 使用用户自定义变量

6.8 案例学习

6.8.1 使用MySQL 构建一个队列表

6.8.2 计算两点之间的距离

6.8.3 使用用户自定义函数

6.9 总结

第7章 MySQL 高级特性

7.1 分区表

7.1.1 分区表的原理

7.1.2 分区表的类型

7.1.3 如何使用分区表

7.1.4 什么情况下会出问题

7.1.5 查询优化

7.1.6 合并表

7.2 视图

7.2.1 可更新视图

7.2.2 视图对性能的影响

7.2.3 视图的限制

7.3 外键约束

7.4 在MySQL 内部存储代码

7.4.1 存储过程和函数

7.4.2 触发器

7.4.3 事件

7.4.4 在存储程序中保留注释

7.5 游标

7.6 绑定变量

7.6.1 绑定变量的优化

7.6.2 SQL 接口的绑定变量

7.6.3 绑定变量的限制

7.7 用户自定义函数

7.8 插件

7.9 字符集和校对

7.9.1 MySQL 如何使用字符集

7.9.2 选择字符集和校对规则

7.9.3 字符集和校对规则如何影响查询

7.10 全文索引

7.10.1 自然语言的全文索引

7.10.2 布尔全文索引

7.10.3 MySQL5.1 中全文索引的变化

7.10.4 全文索引的限制和替代方案

7.10.5 全文索引的配置和优化

7.11 分布式(XA)事务

7.11.1 内部XA 事务

7.11.2 外部XA 事务

7.12 查询缓存

7.12.1 MySQL 如何判断缓存命中

7.12.2 查询缓存如何使用内存

7.12.3 什么情况下查询缓存能发挥作用

7.12.4 如何配置和维护查询缓存

7.12.5 InnoDB 和查询缓存

7.12.6 通用查询缓存优化

7.12.7 查询缓存的替代方案

7.13 总结

第8章 优化服务器设置

8.1 MySQL 配置的工作原理

8.1.1 语法、作用域和动态性

8.1.2 设置变量的副作用

8.1.3 入门

8.1.4 通过基准测试迭代优化

8.2 什么不该做

8.3 创建MySQL 配置文件

8.3.1 检查MySQL 服务器状态变量

8.4 配置内存使用

8.4.1 MySQL 可以使用多少内存?

8.4.2 每个连接需要的内存

8.4.3 为操作系统保留内存

8.4.4 为缓存分配内存

8.4.5 InnoDB 缓冲池(Buffer Pool)

8.4.6 MyISAM 键缓存(Key Caches)

8.4.7 线程缓存

8.4.8 表缓存(Table Cache)

8.4.9 InnoDB 数据字典(Data Dictionary)

8.5 配置MySQL 的I/O 行为

8.5.1 InnoDB I/O 配置

8.5.2 MyISAM 的I/O 配置

8.6 配置MySQL 并发

8.6.1 InnoDB 并发配置

8.6.2 MyISAM 并发配置

8.7 基于工作负载的配置

8.7.1 优化BLOB 和TEXT 的场景

8.7.2 优化排序(Filesorts)

8.8 完成基本配置

8.9 安全和稳定的设置

8.10 高级InnoDB 设置

8.11 总结

第9章 操作系统和硬件优化

第10章 复制

第11章 可扩展的MySQL

第12章 高可用性

第13章 云端的MySQL

第14章 应用层优化

第15章 备份与恢复

第16章 MySQL 用户工具

附录A MySQL 分支与变种

附录B MySQL 服务器状态

附录C 大文件传输

附录D EXPLAIN

附录E 锁的调试

附录F 在MySQL 上使用Sphinx

索引

...展开收缩

务必Chrome下载

下载所需:1 积分

下载次数:2

我要下载

深入浅出的mysql第三版和第二版的区别_1.高性能MySQL(第3版) 2. 深入浅出MySQL 合集 完整版 高清...相关推荐

  1. 了解mysql的三种不同安装方式的区别

    学习目的:了解mysql的三种不同安装方式的区别 学习内容: mysql 的安装有三种:分别是源码安装.二进制安装.rpm安装. 源码安装的优势:linux操作系统开放源代码,因此在其上面安装的软件大 ...

  2. 【三端通用】微信即时通讯+视频聊天(安卓、IOS、小程序)项目完整版

    # 简单描述: 此产品是本人耗时12day开发出来的,采用的是uniapp框架开发出来的,可快速云打包上线,也可以进行二次开发符合自己的具体需求.         为什么要选择uni-app框架去开发 ...

  3. 辛巴巴巴鲁比啦音乐计算机版,辛巴巴巴鲁给啦是什么歌 симпа歌曲原唱及音译歌词完整版...

    各大短视频平台会带动歌曲的爆火,"辛巴巴巴鲁给啦,巴撵鸭那么泥拉"这段音译歌词受到大家的喜爱,其实这是一首俄文歌,被很多网红所翻唱非常洗脑,那么辛巴巴巴鲁给啦是什么歌?下面带来介绍 ...

  4. MySQL安装及应用合集(2):zip安裝包的安装方式

    一.文件下载 在 MySQL官网上,点击DOWNLOADS ,可以进入到下载首页,拉到最底下的 MySQL Community (GPL) Downloads 点击进入到产品下载页面. 产品下载页面有 ...

  5. php普通索引和唯一索引,MySQL中普通索引和唯一索引的区别详解

    本篇文章介绍了MySQL中普通索引和唯一索引的区别,讲解很详细,希望对学习MySQL的朋友有帮助! 需要注意的是: redo log中的数据,可能还没有 flush 到磁盘,磁盘中的 Page 1 和 ...

  6. 初中人教版电子课本app_电子课本|2020秋 部编人教版初中历史七年级上册教材电子课本(高清更新可打印)...

    部编人教版初中历史电子课本 为了帮助更多的学生进行科学的学习,笔者对部编人教版初中历史七至九年级上册的电子课本进行了归纳汇编,以方便更多的学生可以随时随地进行学习.教材蕴含着巨大的学习价值, 希望学生 ...

  7. 人教版初中信息技术电子课本_电子课本|2020秋 部编人教版初中化学九年级上册教材电子课本(高清更新可打印)...

    部编人教版初中化学电子课本 为了帮助更多的学生进行科学的学习,笔者对部编人教版初中化学上册的电子课本进行了归纳汇编,以方便更多的学生可以随时随地进行学习.教材蕴含着巨大的学习价值, 希望学生们可以充分 ...

  8. 博图pro版和adv版区别_笔记本定制版什么意思?笔记本标配版和定制版的区别与利弊分析...

    大家在电商平台上准备选购一台笔记本电脑的时候,例如看中一款型号,但是发现商品选项比较多,除了官方标配版之外,还有定制版,但是不少用户开始疑惑,这笔记本定制版什么意思?下面装机之家晓龙分享一下笔记本标配 ...

  9. 人教版初中信息技术电子课本_电子课本|2020秋 北京版初中化学九年级上册教材电子课本(高清更新可打印)...

    北京版初中化学电子课本 为了帮助更多的学生进行科学的学习,笔者对北京版初中化学上册的电子课本进行了归纳汇编,以方便更多的学生可以随时随地进行学习.教材蕴含着巨大的学习价值, 希望学生们可以充分利用. ...

  10. sql server 可更新订阅 配置_电子课本|2020秋 鲁教版初中化学九年级上册教材电子课本(高清更新可打印)...

    鲁教版初中化学电子课本 为了帮助更多的学生进行科学的学习,笔者对鲁教版初中化学上册的电子课本进行了归纳汇编,以方便更多的学生可以随时随地进行学习.教材蕴含着巨大的学习价值, 希望学生们可以充分利用. ...

最新文章

  1. 疑案追踪:Spring Boot内存泄露排查记
  2. Spring 配置标签——util标签
  3. Servlet实现登录注册
  4. 自制简易AP柱面定向天线(zz)
  5. 介绍两个好玩的和Github相关的Chrome扩展 1
  6. 如何使用CREO来导入多个带坐标系参数的零件的装配图档
  7. 算法设计与分析——动态规划——石子合并问题
  8. python 数据去重_科学网—python学习——根据条件提取数据,并去重 - 李立的博文...
  9. 物联网专题--基于APP Inventor的BLE蓝牙4.0数据通信
  10. Rust小试牛刀之猜猜看游戏
  11. Spring 中的事务处理
  12. [python3] zipfile压缩目录下所有的文档都被压缩,并解决压缩路径过深的问题
  13. 数学建模算法与应用学习(一)
  14. python从邻接矩阵计算可达矩阵,复制即用
  15. win7系统无法正常启动
  16. [车联网安全自学篇] ATTACK安全之从ATTCK看车联网安全如何落地企业SOC之基础知识篇
  17. 概率论05 - 随机变量及其分布函数
  18. cadence SPB17.4 - Active Class and Subclass
  19. C语言删除字符串的所有尾部空格
  20. 如何搭建自己的博客网站(手把手教你搭建免费个人博客网站)

热门文章

  1. colorui 使用iconfont图标
  2. matlab产生pn序列,[求助]PN序列的产生
  3. 使用Matlab产生m序列(PN序列的一种)
  4. 读书笔记:普林斯顿微积分读本
  5. InputFilter 和 TextWatcher
  6. 数据结构课程设计- (二) 栈与队列(迷宫问题)
  7. 计算机组成原理学习笔记————存储器(一) 存储器分类
  8. head first 设计模式 java_吐血整理:Head First设计模式大全
  9. Windows下用FFmpeg+nginx+rtmp搭建直播环境 实现推流、拉流
  10. Java下载安装错误案例