引言
本书介绍 PostgreSQL 中查询优化的基础知识。
Postgres Professional 为数据库管理员和应用开发者开发培训课程。其中一门课程就是“QPT:查询性能调优”。
既然课程和本书讨论的是同一主题,为什么还要同时提供两者?
本书源自 QPT 课程的修订版,因此两者有大量重叠。差异在于形式。
课程从 PostgreSQL 用来规划和优化查询的基本算法讲起,系统地展开主题。课程分为多个模块和相关主题,每个主题都包含理论与实践。理论内容并不局限于幻灯片:大多数主题都会在课程虚拟机中实际运行的 PostgreSQL 实例上进行演示。学员会获得带有详细讲稿备注的幻灯片、演示输出、实践练习的解答以及额外的参考材料。课程可以在讲师指导下学习,也可以独立学习;包括视频录制在内的材料都可以从我们的网站获取。
如果你能亲自运行演示并完成练习,课程的效果最好。本书的用途有所不同。
你可以在地铁上或等公交车时阅读本书,夹上书签,之后继续阅读,无需启动计算机,也无需重新创建课程环境。
这种形式上的差异意味着,不能只是把课程文字搬到纸面上。过长的代码行不适合排在书页上,而课程中分开的理论和演示区块放进书里会显得生硬。因此,我们把演示结果重新编织进叙述中,修改了一些示例,也删去了主要用于说明附加细节的其他示例。为了让本书保持紧凑,我们还删去了“索引类型”主题,并合并了若干主题,其中包括“访问方法”和“并行访问”。
在阅读本书之前,你应当熟悉 SQL 和类 Unix 操作系统。了解 PL/pgSQL 会有帮助,但不是必需条件。我们还假定你具备 DBA1 或 DEV1 课程所覆盖的大致背景知识。对于那些不能直接帮助理解查询优化的服务器配置和内部实现细节,我们有意略去。
所有示例都使用日期为 2025 年 9 月 1 日的“Airlines”演示数据库。我们使用的是包含六个月航班数据的版本。面向 PostgreSQL 16 的 QPT 课程使用的是较早的演示数据库版本,日期为 2017 年 8 月 15 日。
参考资源
- postgrespro.com/community/courses
- postgrespro.com/community/courses/QPT
- postgrespro.com/community/demodb