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))能够极大加速针对多维度混合方向排序的查询。