# 引言

> PostgreSQL 18 查询优化一书的范围、前置条件和演示数据库，以及本书与 QPT 课程的关系。

---

LLMS 索引： [llms.txt](/llms.txt)

---

<span id="qpt-page-4" class="pdf-anchor"></span>

本书介绍 PostgreSQL 中查询优化的基础知识。

Postgres Professional 为数据库管理员和应用开发者开发培训课程。其中一门课程就是“QPT：查询性能调优”。

既然课程和本书讨论的是同一主题，为什么还要同时提供两者？

本书源自 QPT 课程的修订版，因此两者有大量重叠。差异在于形式。

课程从 PostgreSQL 用来规划和优化查询的基本算法讲起，系统地展开主题。课程分为多个模块和相关主题，每个主题都包含理论与实践。理论内容并不局限于幻灯片：大多数主题都会在课程虚拟机中实际运行的 PostgreSQL 实例上进行演示。学员会获得带有详细讲稿备注的幻灯片、演示输出、实践练习的解答以及额外的参考材料。课程可以在讲师指导下学习，也可以独立学习；包括视频录制在内的材料都可以从我们的网站获取。

如果你能亲自运行演示并完成练习，课程的效果最好。本书的用途有所不同。

<span id="qpt-page-5" class="pdf-anchor"></span>

你可以在地铁上或等公交车时阅读本书，夹上书签，之后继续阅读，无需启动计算机，也无需重新创建课程环境。

这种形式上的差异意味着，不能只是把课程文字搬到纸面上。过长的代码行不适合排在书页上，而课程中分开的理论和演示区块放进书里会显得生硬。因此，我们把演示结果重新编织进叙述中，修改了一些示例，也删去了主要用于说明附加细节的其他示例。为了让本书保持紧凑，我们还删去了“索引类型”主题，并合并了若干主题，其中包括“访问方法”和“并行访问”。

在阅读本书之前，你应当熟悉 SQL 和类 Unix 操作系统。了解 PL/pgSQL 会有帮助，但不是必需条件。我们还假定你具备 DBA1 或 DEV1 课程所覆盖的大致背景知识。对于那些不能直接帮助理解查询优化的服务器配置和内部实现细节，我们有意略去。

所有示例都使用日期为 2025 年 9 月 1 日的“Airlines”演示数据库。我们使用的是包含六个月航班数据的版本。面向 PostgreSQL 16 的 QPT 课程使用的是较早的演示数据库版本，日期为 2017 年 8 月 15 日。

## 参考资源 {#referenced-resources}

- [postgrespro.com/community/courses](<https://postgrespro.com/community/courses>)
- [postgrespro.com/community/courses/QPT](<https://postgrespro.com/community/courses/QPT>)
- [postgrespro.com/community/demodb](<https://postgrespro.com/community/demodb>)
