my_book_doc
latest
python相关书籍
安全相关书籍
ASM/C/C++书籍
算法相关书籍
数据库相关书籍
高性能的MySQL
MongoDB权威指南(第二版)
人工智能相关书籍
数学书
笔记
项目相关
my_book_doc
Docs
»
数据库相关书籍
Edit on GitHub
数据库相关书籍
¶
高性能的MySQL
序
第1章、MySQL架构与历史
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、MySQL时间线(Timeline)
1.7、MySQL的开发模式
1.8、总结
第2章、MySQL基准测试
2.1、为什么需要基准测试
2.2、基准测试的策略
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数据库测试套件中的dbt2TPC-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、使用 USERSTATISTICS表
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.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、优化 t COUNTO查询
6.7.2、优化关联查询
6.7.3、优化子查询
6.7.4、优化 GROUP BY DISTINCT
6.7.5、优化 LIMIT分页
6.7.6、优化 SQLCALC 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、5.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配置的工作原理
第9章、操作系统和硬件优化
9.1、什么限制了 MySQL的性能
9.2、如何为 MySQL选择CPU
9.2.1、哪个更好:更快的CPU还是更多的CPU
9.2.2、CPU架构
9.2.3、扩展到多个CPU和核心
9.3、平衡内存和磁盘资源
9.3.1、随机1/O和顺序I/O
9.3.2、缓存,读和写
9.3.3、工作集是什么
9.3.4、找到有效的内存/磁盘比例
9.3.5、选择硬盘
9.4、固态存储
9.4.1、闪存概述
9.4.2、闪存技术
9.4.3、闪存的基准测试
9.4.4、固态硬盘驱动器(SSD)
9.4.5、PCle存储设备
9.4.6、其他类型的固态存储
9.4.7、什么时候应该使用存
9.4.8、使用 Flashcache
9.4.9、优化固态存储上的 MySQL
9.5、为备库选择硬件
9.6、RAiD性能优化
9.6.1、RAiD的故障转移、恢复和镜像
9.6.2、平衡硬件RAID和软件RAID
9.6.3、RAiD配置和缓存
9.7、san和NA
9.7.1、SAN基准测试
9.7.2、使用基于NFS或SMB的SAN
9.7.3、MySQL在SAN上的性能
9.7.4、应该用SAN吗
9.8、使用多磁盘卷
9.9、网络配置
9.10、选择操作系统
9.11、选择文件系统
9.12、选择磁盘队列调度策略
9.13、线程
9.14、内存交换区
9.15、操作系统状态
9.15.1、如何阅读 vmstat的输出
9.15.2、如何阅读 iostat的输出
9.15.3、其他有用的工具
9.15.5、I/O密集型的机器
9.15.6、发生内存交换的机器
9.15.7、空闲的机器
9.16、总结
第10章、复制
10.1、复制概述
第11章、可扩展的 MySQL
11.1、什么是可扩展性…
第12章、高可用性
12.1、什么是高可用性
12.2、导致宕机的原因
12.3、如何实现高可用性
12.4、避免单点失效
第13章、云端的 MySQL
13.1、云的优点、缺点和相关误解
13.2、MySQL在云端的经济价值
13.3、云中的 MySQL的可扩展性和高可用…
13.4、四种基础资源
13.5、MySQL在云主机上的性能
13.7、总结
第14章、应用层优化
14.1、常见问题
14.2、Web服务器问题
第15章、备份与恢复
15.1、为什么要备份…
15.2、定义恢复需求
15.3、设计 mySQL备份方案
第16章、 MySQLF用户工具
16.1、接口工具
16.2、命令行工具集
16.3、SQL实用集
16.4、监测工
MongoDB权威指南(第二版)
第一章 MongoDB简介
1.1 易于使用
1.2 易于扩展
1.3 丰富的功能
1.4 卓越的性能
1.5 小结
第二章 MongoDB基础知识
2.1 文档
2.2 集合
2.2.1 动态模型
2.2.2 命名
2.3 数据库
2.4 启动MongoDB
2.5 MongoDB shell简介
2.5.2 MongoDB客户端
2.5.3基本操作
2.6 数据类型
2.6.1 基本数据类型
2.6.2 日期
2.6.3 数组
2.6.4 内嵌文档
2.6.5 _id和ObjectId()
2.7 使用MongoDB shell
2.7.1 shell 小贴士
2.7.2 使用shell执行脚本
2.7.3 创建.mongorc.js文件
2.7.4 定制shell 提示
2.7.5 编辑复合变量
2.7.6 集合命名注意事项
第三章 创建、更新和删除文档
3.1 插入并保存文档
3.1.1 批量插入
3.1.2 插入校验
3.2 删除文档
3.3 更新文档
3.3.1 文档替换
3.3.2 使用修改器
3.3.4 更新多个文档
3.3.5 返回被更新的文档
3.4 写入安全机制
第四章 查询
4.1 find简介
4.1.1 执行需要返回的键
4.1.2 限制
4.2 查询条件
4.2.1 查询条件
4.2.2 or查询 in查询
4.2.3 $not
4.2.4条件语句
4.3 特性类型的查询
4.3.1 null
4.3.2 正则表达式
4.3.3 查询数组
4.3.4 查询内嵌文档
4.4 $where 查询
4.5 游标
4.5.1 limit、skip和sort
4.5.2 避免使用skip略过大量结果
4.5.3 高级查询选项
4.5.4 获取一致结果
4.5.5 游标生命周期
4.6 数据库命令
第五章 索引
5.1 索引简介
5.1.1 复合索引简介
5.1.2 使用复合索引
5.1.3 $操作符如何使用索引
5.1.4 索引对象和数组
5.1.5 索引基数
5.2 使用explain() 和 hint()
5.3 何时不应该使用索引
5.4 索引类型
5.4.1 唯一索引
5.4.2 稀疏索引
5.5 索引管理
5.5.1 标识索引
5.5.2 修改索引
第六章 特殊的索引和集合
6.1 固定集合
6.1.1创建固定集合
6.1.2 自然排序
6.1.3 循环游标
6.1.4 有没_id索引的集合
6.2 TTL索引
6.3 全文索引
6.3.1 搜索语法
6.3.2 优化全文索引
6.3.3 在其他语言中搜索
6.4 地理空间索引
6.4.1 地理空间查询的类型
6.4.2 符合地理空间索引
6.4.3 2d索引
6.5 使用GridFS存储文件
6.5.1 GridFS入门
6.5.2 在MongoDB启动程序中使用GridFS
6.5.3 揭开GridFS的面纱
第七章 聚合
7.1 聚合框架
7.2 管道操作符
7.2.1 $match
7.2.2 $project
7.2.3 $group
7.2.4 $unwind
7.2.5 $sort
7.2.6 $limit
7.2.7 $skip
7.2.8 使用管道
7.3 MapReduce
7.3.2 示例2:网页分类
7.3.3 MongoDB和MapReduce
7.4 聚合命令
7.4.1 count
7.4.2 distinct
7.4.3 group
第八章 应用程序设计
8.1 范式化和反范式化
8.1.1 数据表示的例子
8.1.2 基数
8.1.3 还有、粉丝、以及其他的麻烦事项
第九章 复制副本集
第十章 副本集的组成
第十一章 从应用程序连接副本集
第十二章 管理
第十三章 分片
第十四章 配置分片
第十五章 选择片键
第十六章 分片管理
第十七章 了解应用的动态
第十八章 数据管理
第十九章 持久性
第二十章 启动和停止MongoDB
第二十一章 监控MongoDB
第二十二章 备份
第二十三章 部署MongoDB
Read the Docs
v: latest
Versions
latest
Downloads
htmlzip
epub
On Read the Docs
Project Home
Builds
Free document hosting provided by
Read the Docs
.