全部文章

《PostgreSQL 内参》中文版之后,轮到查询优化了

前言

各位 PGers,好久不见。

这两天人在阿拉木图,刚参加完 Halyk OIY Tech 2026。大会聊了不少 AI、企业技术架构和数字金融相关的话题,跟海外同行交流了一圈,全英文口语交流基本也没啥太大问题。关于大会的见闻,以后有机会再聊,今天先说一本 PostgreSQL 新书。

Halyk OIY Tech 2026 大会现场

今天翻订阅的 Postgres Weekly 邮件时,看到推荐了一本《PostgreSQL 18: Query Optimization》。作者是 Pavel Tolmachev,出品方是 Postgres Professional。

Postgres Pro’s query tuning course, reshaped into a compact book that’s now in English. It covers how the planner works, access methods, join strategies, statistics, reading execution plans and tuning approaches.

看到这个名字,我立马来了兴趣 —— 之前花了很长时间翻译的《PostgreSQL 14 Internals》,正是出自这家公司,立马下下来,快速浏览了一番。

这本书讲什么?

它并不是一本专门罗列 PostgreSQL 18 新特性的书,而是由 Postgres Professional 的 QPT (Query Performance Tuning) 培训课程整理而来,重点在于讲清楚查询优化的基本原理与实际方法。

从查询规划与执行、顺序扫描和索引扫描,到排序、分组、Nested Loop / Hash Join / Merge Join,再到统计信息、执行计划分析、性能剖析和调优思路,内容安排得比较系统。书中也穿插了大量 SQL 和 EXPLAIN 示例,不只是告诉你某个参数该怎么调,而是帮助我们理解为什么优化器会选择这个执行计划,以及出现慢查询时应该从哪里着手分析。

它和《PostgreSQL 内参》确实有内容交集,尤其是查询执行、访问方法和统计信息这几部分,但两本书的着眼点不同。

《PostgreSQL 内参》更偏向解释 PostgreSQL 的内部工作机制:MVCC、缓冲区、WAL、锁、索引,以及查询执行背后的实现;新书则把镜头拉近,集中讨论查询规划、执行效率和优化方法。一本帮助你理解数据库如何工作,另一本帮助你理解查询为什么这样执行。

两本书,放进同一个网站

当年翻译《PostgreSQL 14 Internals》,前前后后花了两三年,查资料、核对术语、校订内容,确实是个慢工夫。后来中文版还被 Postgres Professional 的官方书籍页面收录,这件事至今仍让我十分开心。

既然新书同样来自 Postgres Professional,而且主题衔接得这么自然,索性继续做下去。这次我没有另起炉灶,而是把两本书放到了同一个网站:https://postgres-internals.cn/

首页可以选择书籍,阅读时各有独立的章节目录。借这个机会,我也把首页和阅读界面重新打磨了一遍,让两本书看起来更像同一个系列,而不是两个拼在一起的文档站。

PostgreSQL 中文译著网站首页,两本书的阅读入口

PostgreSQL 18 查询优化中文版的章节阅读界面

这次和几年前最大的不同,自然是 AI。

过去翻译基本靠自己逐段处理;现在可以让 AI 承担大量初译和整理工作,再由我做人工审阅和必要的调整。从动手到整理出一个能在线阅读的中文初版,大约花了一天,外加两张重置卡。放在几年前,这个速度确实不敢想。

不过,初版就是初版。翻译速度快了,不代表技术内容就可以不用核对。尤其是术语的一致性、SQL 示例、执行计划、图表以及一些容易被忽略的技术细节,仍然需要持续校订。这次先把中文在线初版开放出来,后面也会继续根据阅读和读者们的反馈持续迭代和修正。

网站由我个人利用业余时间整理维护,在线阅读免费开放。如果你在阅读中发现译文不准确、术语不统一、代码或链接有问题,欢迎通过网站上的反馈入口告诉我。

最后,书已经摆上书架了,各位 PGers,还在等什么?挑一本开始看吧。

评论区按需加载,正文阅读不会被第三方服务拖慢。

搜索文章

输入关键词开始搜索。