一、目录介绍

第1章  MySQL架构与历史

1.1    MySQL逻辑架构1

1.1.1  连接管理与安全性2

1.1.2  优化与执行3

1.2    并发控制3

1.2.1  读写锁4

1.2.2  锁粒度4

1.3    事务6

1.3.1  隔离级别8

1.3.2  死锁9

1.3.3  事务日志10

1.3.4  MySQL中的事务10

1.4    多版本并发控制12

1.5    MySQL的存储引擎13

1.5.1  InnoDB存储引擎16

1.5.2  MyISAM存储引擎17

1.5.3  MySQL内建的其他存储引擎19

1.5.4  第三方存储引擎22

1.5.5  选择合适的引擎24

1.5.6  转换表的引擎27

1.6    MySQL时间线(Timeline)29

1.7    MySQL的开发模式32

1.8    总结33

第2章  MySQL基准测试

2.1    为什么需要基准测试35

2.2    基准测试的策略37

2.2.1  测试何种指标38

2.3    基准测试方法40

2.3.1  设计和规划基准测试41

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

2.3.3  获取系统性能和状态43

2.3.4  获得准确的测试结果44

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

2.3.6  绘图的重要性47

2.4    基准测试工具49

2.4.1  集成式测试工具49

2.4.2  单组件式测试工具50

2.5    基准测试案例52

2.5.1  http_load53

2.5.2  MySQL基准测试套件54

2.5.3  sysbench55

2.5.4  数据库测试套件中的dbt2TPC—C测试60

2.5.5  Percona的TPCC—MySQL测试工具63

2.6    总结65

第3章  服务器性能剖析

3.1    性能优化简介67

3.1.1  通过性能剖析进行优化69

3.1.2  理解性能剖析71

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

3.2.1  测量PHP应用程序74

3.3    剖析MySQL查询77

3.3.1  剖析服务器负载77

3.3.2  剖析单条查询81

3.3.3  使用性能剖析87

3.4    诊断间歇性问题88

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

3.4.2  捕获诊断数据93

3.4.3  一个诊断案例98

3.5    其他剖析工具106

3.5.1  使用USER_STATISTICS表106

3.5.2  使用strace107

3.6    总结108

第4章  Schema与数据类型优化

4.1    选择优化的数据类型111

4.1.1  整数类型113

4.1.2  实数类型113

4.1.3  字符串类型114

4.1.4  日期和时间类型121

4.1.5  位数据类型123

4.1.6  选择标识符(identifier)125

4.1.7  特殊类型数据127

4.2    MySQLschema设计中的陷阱127

4.3    范式和反范式129

4.3.1  范式的优点和缺点130

4.3.2  反范式的优点和缺点130

4.3.3  混用范式化和反范式化131

4.4    缓存表和汇总表132

4.4.1  物化视图134

4.4.2  计数器表135

4.5    加快ALTERTABLE操作的速度136

4.5.1  只修改.frm文件137

4.5.2  快速创建MyISAM索引139

4.6    总结140

第5章  创建高性能的索引

5.1    索引基础141

5.1.1  索引的类型142

5.2    索引的优点152

5.3    高性能的索引策略153

5.3.1  独立的列153

5.3.2  前缀索引和索引选择性153

5.3.3  多列索引157

5.3.4  选择合适的索引列顺序159

5.3.5  聚簇索引162

5.3.6  覆盖索引171

5.3.7  使用索引扫描来做排序175

5.3.8  压缩(前缀压缩)索引177

5.3.9  冗余和重复索引178

5.3.10 未使用的索引181

5.3.11 索引和锁181

5.4    索引案例学习183

5.4.1  支持多种过滤条件183

5.4.2  避免多个范围条件185

5.4.3  优化排序186

5.5    维护索引和表187

5.5.1  找到并修复损坏的表187

5.5.2  更新索引统计信息188

5.5.3  减少索引和数据的碎片190

5.6    总结192

第6章  查询性能优化

6.1    为什么查询速度会慢195

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

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

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

6.3    重构查询的方式201

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

6.3.2  切分查询202

6.3.3  分解关联查询203

6.4    查询执行的基础204

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

6.4.2  查询缓存208

6.4.3  查询优化处理208

6.4.4  查询执行引擎222

6.4.5  返回结果给客户端223

6.5    MySQL查询优化器的局限性223

6.5.1  关联子查询223

6.5.2  UNION的限制228

6.5.3  索引合并优化228

6.5.4  等值传递229

6.5.5  并行执行229

6.5.6  哈希关联229

6.5.7  松散索引扫描229

6.5.8  最大值和最小值优化231

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

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

6.7    优化特定类型的查询236

6.7.1  优化COUNT()查询236

6.7.2  优化关联查询239

6.7.3  优化子查询239

6.7.4  优化GROUPBY和DISTINCT239

6.7.5  优化LIMIT分页241

6.7.6  优化SQL_CALC_FOUND_ROWS243

6.7.7  优化UNION查询243

6.7.8  静态查询分析244

6.7.9  使用用户自定义变量244

6.8    案例学习251

6.8.1  使用MySQL构建一个队列表251

6.8.2  计算两点之间的距离254

6.8.3  使用用户自定义函数257

6.9    总结258

第7章  MySQL高级特性

7.1    分区表259

7.1.1  分区表的原理260

7.1.2  分区表的类型261

7.1.3  如何使用分区表262

7.1.4  什么情况下会出问题263

7.1.5  查询优化266

7.1.6  合并表267

7.2    视图270

7.2.1  可更新视图272

7.2.2  视图对性能的影响273

7.2.3  视图的限制274

7.3    外键约束275

7.4    在MySQL内部存储代码276

7.4.1  存储过程和函数278

7.4.2  触发器279

7.4.3  事件281

7.4.4  在存储程序中保留注释283

7.5    游标283

7.6    绑定变量284

7.6.1  绑定变量的优化286

7.6.2  SQL接口的绑定变量286

7.6.3  绑定变量的限制288

7.7    用户自定义函数289

7.8    插件290

7.9    字符集和校对291

7.9.1  MySQL如何使用字符集292

7.9.2  选择字符集和校对规则295

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

7.10   全文索引299

7.10.1 自然语言的全文索引300

7.10.2 布尔全文索引302

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

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

7.10.5 全文索引的配置和优化306

7.11   分布式(XA)事务307

7.11.1 内部XA事务307

7.11.2 外部XA事务308

7.12   查询缓存309

7.12.1 MySQL如何判断缓存命中309

7.12.2 查询缓存如何使用内存311

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

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

7.12.5 InnoDB和查询缓存319

7.12.6 通用查询缓存优化320

7.12.7 查询缓存的替代方案321

7.13   总结321

第8章  优化服务器设置325

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

第10章 复制433

第11章 可扩展的MySQL501

第12章 高可用性543

第13章 云端的MySQL563

第14章 应用层优化577

第15章 备份与恢复593

第16章 MySQL用户工具635

附录AMySQL分支与变种649

附录BMySQL服务器状态655

附录C大文件传输683

附录DEXPLAIN687

附录E锁的调试703

附录F在MySQL上使用Sphinx713

索引739

��

高性能mysql 3 pdf下载_《高性能MySQL_第3版》PDF版本下载相关推荐

  1. 高性能mysql 第六章_高性能MySQL 第六章

    查询优化.索引优化.库表结构优化需要齐头并进,一个不落,才能最终设计出在实际场景中能发挥良好效果的方案. 为什么查询速度会慢? 如果把查询看作是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一 ...

  2. 魔域mysql下载_魔域3.2无敌版之富甲天下下载_魔域3.2无敌版下载_快吧单机游戏...

    <魔域单机版>是根据知名网络游戏<魔域>改编而成的角色扮演类游戏,同网络版官方完全相同的游戏功能,怪物.地图.武器装备.所有的完全一样,不同的就是你可以自己当GM.只需要下载相 ...

  3. 梦幻仙缘剧情java_梦幻仙缘新春版下载_梦幻仙缘最新新春版手游下载_玩游戏网...

    梦幻仙缘新春版手游有着Q版的游戏世界,地图非常庞大的,玩家们可以自由进行冒险探索的,各种各样的职业角色自由选择,宠物坐骑自由驯服养成,在战斗的时候可以帮助自己的,玩家需要想出各种策略来完成各种各样的战 ...

  4. android 内核老版本下载安装,百度极速版老版本下载安装

    百度极速版老版本是一款非常好用的手机搜索软件,不仅搜索引擎极其强大,而且用户还可以分各种类别来搜索自己想要看到的内容,有句话是叫不知道问度娘,正是因为百度的搜索引擎十分的强大,万事皆可在百度上进行搜索 ...

  5. 关于高性能mysql的读书报告_《高性能MySQL》读书笔记:第一章[MySQL架构与历史]...

    <高性能MySQL>读书笔记:第一章[MySQL架构与历史] MySQL逻辑架构 MySQL最优秀的一点就是它的存储架构,将查询处理,系统任务,数据存储/提取相分离 并发控制 通过读写锁实 ...

  6. 高性能mysql观会感_【高性能Mysql 】读书笔记(一)

    第1章 Mysql架构与历史 MYSQL最重要.最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理( Query Processing)及其他系统任务( Server Task)和数据的存储 ...

  7. python html转pdf 调整大小_用Python将HTML转为PDF。

    上期提到了如何获取公众号文章信息,这回就说下怎么将网页转为PDF,方便平常学习. 然后扩散一下之前一个比赛的结果(华章计算机抖音大赛). 顺便谈谈自己对今后送书的一个想法. 另外之前的送书活动,有中奖 ...

  8. java 生成pdf 乱码_利用java处理fop导出pdf的中文乱码问题解决方案

    本文的作用是,生成带中文的加密pdf格式的文件,防止被人修改. 在项目下建立docbook-xsl, fo-res, out, sample四个文件夹 docbook-xsl目录: 放从sourcef ...

  9. xdf文件转换成pdf在线_在线PDFtodoc转换器智能转换PDF文件

    PDF将整个文件的字体.图片.音频.视频.样式等将其打包成一个文件,保证用户最佳体验效果,能保证打印效果.阅读效果.完美解决了多系统多端阅读.支持系统包括windows.Mac.iphone.andr ...

  10. python爬取pdf教程_#如何利用Python抓取PDF中的某些内容#python爬取pdf教程

    如何利用Python抓取PDF中的某些内容 学生每天要学习,工作者要工作,家庭主妇每都要务.不论做什么,都有着相应的操作流同样就会有操作技巧.学生运用技巧学习才不会累,学得还会更快更多:工作者掌握技巧 ...

最新文章

  1. 【Google Play】从 Android 应用中跳转到 Google Play 中 ( 跳转代码示例 | Google Play 页面的链接格式 | Google Play 免安装体验 )
  2. 使用 Spring Batch 构建企业级批处理应用
  3. 【Python】你的表格太丑了!能美化下吗?
  4. Asp.Net+Jquery.Ajax详解5-$.getScript
  5. cut和tr命令的联合使用
  6. java map 实现 序列化,MapReduce序列化
  7. 第 1-6 课:玩转时间 + 面试题
  8. 计算机硬件实验教程pdf,计算机硬件技术基础实验教程答案(重庆大学)
  9. java实例变量,局部变量,类变量和final变量
  10. 大厂的 404 页面都长啥样?看到最后一个,我笑了。。。
  11. 关于下载的wide形式的数据(横轴为地区,纵轴为年份)批量转换为long形式的代码(stata版)
  12. python万年历差农历程序_批处理万年历实现代码(包括农历日期)
  13. K41H 老笔记本维修升级记
  14. 运动蓝牙耳机排行榜,六款适合运动的运动耳机推荐
  15. 谷歌Android笔记本,运行安卓+Chrome OS合体新系统:谷歌Pixel 3笔记本被曝光
  16. 看这,苹果手机怎么录音的3个方法!
  17. html table 内外边框,HTML_TABLE内外边框
  18. 公司U07 随机变量视角下的NPV估值 教材笔记
  19. anymie360.exe,anymie360.dll,b770ca2.sys,Beep.sys,msiffei.sys等1
  20. 无限循环抛出 No method found for class [B 这个异常

热门文章

  1. 淘宝电商PRD文档模板讲解
  2. 加固机箱设计资料第289篇:基于3U VPX的 5槽加固机箱
  3. IDEA 个人私藏插件
  4. 大数据 流式计算 apache storm 学习笔记 01 ---汪文君
  5. 日常一记(11)--word公式输入任意矩阵
  6. <2021SC@SDUSC> 开源游戏引擎 Overload 代码模块分析 之 OvTools(七)—— 终篇总结
  7. 机器人动力学建模之刚体动力学基础学习
  8. 大学生个人网站作业 超简单DIV CSS个人网页成品 简单个人网站作业模板 HTML个人网页设计下载 简约黑白色个人主页
  9. STM32学习心得三十一:485通信原理及实验
  10. 为什么在使用超级终端配置交换机时显示乱码或无显示?