PostgreSQL 18 中文参考文档(未翻译部分保留英文)🌐 切换到英文原版 →

11.4. 索引与 ORDER BY #

除了快速定位符合条件的物理数据行之外,B 树索引还能够按照特定的物理顺序直接输出数据,从而省去查询中由于 ORDER BY 带来的额外独立排序计算。

在默认配置下,B 树索引中的条目按升序排列并将 NULL 空值置于最末端(ASC NULLS LAST)。索引同样支持反向反序扫描(生成 DESC NULLS FIRST 的输出结果)。在创建索引时,可以通过显式声明选项来精细指定排序规则,例如:

CREATE INDEX test2_info_nulls_low ON test2 (info NULLS FIRST);
CREATE INDEX test3_desc_index ON test3 (id DESC NULLS LAST);

在多列联合索引中,为不同列分别声明不同的升降序规则(如 (x ASC, y DESC))能够极大加速针对多维度混合方向排序的查询。