展开全部

主编推荐语

一本系统介绍MySQL性能优化相关技术、方法及实践的实用指南。

内容简介

本书中,作者首先详细解释了查询响应时间;然后介绍了直接查询优化(创建和编制索引)、间接查询优化(减少数据访问和存储)等提高MySQL性能的方法,还通过讲解数据访问模式、MySQL分片的基本机制、MySQL的服务器指标、复制延迟、MySQL的事务(涉及InnoDB行锁)等知识为优化MySQL性能提供思路;之后介绍了一些常见的MySQL挑战,以及应对方法;最后讨论了在云中使用MySQL时需要知道的知识,拓展了读者的思维。

目录

  • 版权信息
  • O'Reilly Media, Inc.介绍
  • 业界评论
  • 前言
  • 第1章 查询响应时间
  • 1.1 假性能的一个真故事
  • 1.2 北极星
  • 1.3 查询报告
  • 1.3.1 来源
  • 1.3.2 聚合
  • 1.3.3 报告
  • 1.4 查询分析
  • 1.4.1 查询指标
  • 1.4.2 元数据和应用程序
  • 1.4.3 相对值
  • 1.4.4 平均值、百分位和最大值
  • 1.5 改进查询响应时间
  • 1.5.1 直接查询优化
  • 1.5.2 间接查询优化
  • 1.6 何时优化查询
  • 1.6.1 性能影响客户
  • 1.6.2 代码修改之前和之后
  • 1.6.3 一月一次
  • 1.7 MySQL:更快一点
  • 1.8 小结
  • 1.9 练习:识别慢查询
  • 第2章 索引和编制索引
  • 2.1 性能的红鲱鱼
  • 2.1.1 更好、更快的硬件
  • 2.1.2 MySQL调优
  • 2.2 MySQL索引:通过图示介绍
  • 2.2.1 InnoDB的表是索引
  • 2.2.2 表访问方法
  • 2.2.3 最左前缀要求
  • 2.2.4 EXPLAIN:查询执行计划
  • 2.2.5 WHERE
  • 2.2.6 GROUP BY
  • 2.2.7 ORDER BY
  • 2.2.8 覆盖索引
  • 2.2.9 连接表
  • 2.3 编制索引:如何像MySQL一样思考
  • 2.3.1 了解查询
  • 2.3.2 使用EXPLAIN帮助理解
  • 2.3.3 优化查询
  • 2.3.4 部署和验证
  • 2.4 索引降级的常见原因
  • 2.4.1 查询改变
  • 2.4.2 过多、重复和未使用
  • 2.4.3 极端选择性
  • 2.4.4 选择错误的索引
  • 2.5 表连接算法
  • 2.6 小结
  • 2.7 练习:找到重复的索引
  • 第3章 数据
  • 3.1 三个秘密
  • 3.1.1 索引可能没有帮助
  • 3.1.2 数据越少越好
  • 3.1.3 QPS越低越好
  • 3.2 最少数据原则
  • 3.2.1 数据访问
  • 3.2.2 数据存储
  • 3.3 删除或归档数据
  • 3.3.1 工具
  • 3.3.2 批大小
  • 3.3.3 行锁争用
  • 3.3.4 空间和时间
  • 3.3.5 二进制日志悖论
  • 3.4 小结
  • 3.5 练习:审查查询的数据访问情况
  • 第4章 访问模式
  • 4.1 MySQL什么都不做
  • 4.2 性能在极限位置变得不稳定
  • 4.3 丰田和法拉利
  • 4.4 数据访问模式
  • 4.4.1 读/写
  • 4.4.2 吞吐量
  • 4.4.3 数据年龄
  • 4.4.4 数据模型
  • 4.4.5 事务隔离
  • 4.4.6 读一致性
  • 4.4.7 并发性
  • 4.4.8 行访问
  • 4.4.9 结果集
  • 4.5 应用程序修改
  • 4.5.1 审查代码
  • 4.5.2 转移读取
  • 4.5.3 将写操作加入队列
  • 4.5.4 将数据分区
  • 4.5.5 不要使用MySQL
  • 4.6 更好、更快的硬件
  • 4.7 小结
  • 4.8 练习:描述访问模式
  • 第5章 分片
  • 5.1 为什么单个数据库不能伸缩
  • 5.1.1 应用程序的工作负载
  • 5.1.2 基准是人为设计的
  • 5.1.3 写操作
  • 5.1.4 模式修改
  • 5.1.5 操作
  • 5.2 小鹅卵石而不是巨石
  • 5.3 分片简介
  • 5.3.1 分片键
  • 5.3.2 策略
  • 5.3.3 挑战
  • 5.4 替代选项
  • 5.4.1 NewSQL
  • 5.4.2 中间件
  • 5.4.3 微服务
  • 5.4.4 不要使用MySQL
  • 5.5 小结
  • 5.6 练习:四年拟合
  • 第6章 服务器指标
  • 6.1 查询性能与服务器性能对比
  • 6.2 正常且稳定:最好的数据库是枯燥的数据库
  • 6.3 关键性能指示器
  • 6.4 指标领域
  • 6.4.1 响应时间
  • 6.4.2 比率
  • 6.4.3 使用率
  • 6.4.4 等待
  • 6.4.5 错误率
  • 6.4.6 访问模式
  • 6.4.7 内部指标
  • 6.5 光谱
  • 6.5.1 查询响应时间
  • 6.5.2 错误率
  • 6.5.3 查询
  • 6.5.4 线程和连接
  • 6.5.5 临时对象
  • 6.5.6 预处理语句
  • 6.5.7 不好的SELECT
  • 6.5.8 网络吞吐量
  • 6.5.9 复制
  • 6.5.10 数据大小
  • 6.5.11 InnoDB
  • 6.6 监控和警报
  • 6.6.1 解析度
  • 6.6.2 徒劳的寻找(阈值)
  • 6.6.3 根据用户体验和客观极限值发出警报
  • 6.6.4 因果关系
  • 6.7 小结
  • 6.8 练习:检查关键性能指示器
  • 6.9 练习:检查警报和阈值
  • 第7章 复制延迟
  • 7.1 基础
  • 7.1.1 源到副本复制
  • 7.1.2 二进制日志事件
  • 7.1.3 MySQL复制延迟
  • 7.2 原因
  • 7.2.1 事务吞吐量
  • 7.2.2 故障后重建
  • 7.2.3 网络问题
  • 7.3 风险:数据丢失
  • 7.3.1 异步复制
  • 7.3.2 半同步复制
  • 7.4 降低延迟:多线程复制
  • 7.5 监控
  • 7.6 恢复时间
  • 7.7 小结
  • 7.8 练习:监控次秒级延迟
  • 第8章 事务
  • 8.1 行锁
  • 8.1.1 记录锁和临键锁
  • 8.1.2 间隙锁
  • 8.1.3 二级索引
  • 8.1.4 插入意向锁
  • 8.2 MVCC和回滚日志
  • 8.3 历史列表长度
  • 8.4 常见问题
  • 8.4.1 大事务
  • 8.4.2 长时间运行的事务
  • 8.4.3 失速的事务
  • 8.4.4 丢弃的事务
  • 8.5 报告
  • 8.5.1 活跃事务:最新
  • 8.5.2 活跃事务:汇总
  • 8.5.3 活跃事务:历史
  • 8.5.4 已提交事务:汇总
  • 8.6 小结
  • 8.7 练习:对历史列表长度发出警报
  • 8.8 练习:检查行锁
  • 第9章 其他挑战
  • 9.1 脑裂是最大的风险
  • 9.2 数据漂移真实存在但不可见
  • 9.3 不要信任ORM
  • 9.4 模式总会改变
  • 9.5 MySQL扩展了标准SQL
  • 9.6 吵闹的邻居
  • 9.7 应用程序不会优雅地失败
  • 9.8 高性能MySQL很难
  • 9.9 练习:识别阻止发生脑裂的防护措施
  • 9.10 练习:检查数据漂移
  • 9.11 练习:混沌
  • 第10章 云中的MySQL
  • 10.1 兼容性
  • 10.2 管理
  • 10.3 网络和存储时延
  • 10.4 性能就是金钱
  • 10.5 小结
  • 10.6 练习:在云中试用MySQL
  • 作者简介
  • 封面简介
展开全部

评分及书评

评分不足
2个评分

出版方

机械工业出版社

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。