-
作者:姜承尧 (David Jiang),资深 MySQL 数据库专家,InnoSQL 开源分支创始人,Oracle ACE,拥有近 15 年 MySQL 内核研发与管理经验
-
出版社:机械工业出版社(2012 年出版),”数据库技术丛书” 系列
-
定位:《MySQL 技术内幕:InnoDB 存储引擎》的姊妹篇,专注 MySQL 中 SQL 编程的高级技巧与底层原理
本书突破传统 SQL 工具书仅讲解语法的局限,将 SQL 视为完整的编程语言,深入剖析其在 MySQL 中的执行机制,揭示 SQL 编程的精髓与最佳实践。通过 “SQL 执行流” 分析范式,追踪查询从输入到返回的完整生命周期,使读者不仅知其然,更知其所以然。
- MySQL 历史与分支版本
- SQL 编程的三个层次:基础使用→高级技巧→融会贯通
- 数据库应用类型 (OLTP/OLAP) 与存储引擎选择
- 数值、日期、字符串等数据类型详解
- 特殊属性 (UNSIGNED/ZEROFILL) 与陷阱
- 经典数据问题解决方案(如日期重叠、连续范围)
- 逻辑查询处理:SELECT 执行顺序的底层逻辑(FROM→ON→JOIN→WHERE→GROUP BY→HAVING→SELECT→DISTINCT→ORDER BY→LIMIT)
- 物理查询处理:MySQL 如何优化执行计划,生成高效执行路径
- 子查询优化:独立 vs 相关子查询,EXISTS/IN 的性能差异,MariaDB 的 SEMI JOIN 优化
- 连接技术:多种连接类型 (INNER/OUTER/CROSS) 与算法实现(嵌套循环 / 块嵌套 / 哈希连接)
- 集合操作 (UNION/EXCEPT/INTERSECT) 的高级应用
- 基础聚合与高级聚合(累积 / 滑动 / 年初至今)
- 数据透视 (PIVOT) 与逆透视 (UNPIVOT) 技术,报表生成利器
- CUBE/ROLLUP:多维数据分析的高效实现
- 面向集合 vs 面向过程的编程思想对比
- 游标的性能分析与适用场景(避免 O (N²) 复杂度问题)
- 游标优化:如何在特定场景提高处理效率
- 事务 ACID 特性与隔离级别详解(InnoDB 默认 REPEATABLE READ)
- 事务控制语句与隐式提交规则
- 分布式事务 (XA) 与常见错误实践(如循环提交)
- 索引内幕:B + 树结构与实现原理,索引选择性 (Cardinality)
- 覆盖索引、联合索引、索引提示 (INDEX HINT) 的高级应用
- 分区技术:RANGE/LIST/HASH 分区策略,大数据表性能提升方案
不仅教授 “如何写 SQL”,更解析 “为什么这样写更高效”,从解析器→优化器→执行器的全链路分析,让读者掌握性能调优的核心思维
全书贯穿三大实战数据库案例(employees/dbt3/tpcc),通过真实业务场景演练,提升应用能力
- 子查询与连接的成本估算与优化策略
- 索引失效场景与修复方案
- 复杂查询的执行计划分析与调优
- MariaDB 特有优化(如 Hash Join)对 SQL 性能的提升
- InnoDB 存储引擎与 SQL 执行的协同优化
- MySQL 5.6 + 新特性在 SQL 编程中的应用
- 开发人员:掌握高效 SQL 编写技巧,减少查询执行时间,提升应用性能
- DBA:深入理解查询执行机制,精准诊断性能瓶颈,优化数据库架构
- 架构师:学习基于 SQL 特性的数据库设计最佳实践,支撑高并发场景
本书适合有一定 SQL 基础,希望深入掌握 MySQL 数据库核心技术的开发人员、DBA 和架构师阅读,是进阶数据库专家的必读之作。