2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1

11.11. 索引和排序规则 #

每个索引列最多只能支持一种排序规则。如果需要多种排序规则,可能需要创建多个索引。

考虑以下语句

CREATE TABLE test1c (
    id integer,
    content varchar COLLATE "x"
);

CREATE INDEX test1c_content_index ON test1c (content);

索引会自动使用底层列的排序规则。因此,一个形如

SELECT * FROM test1c WHERE content > constant;

的查询可以使用索引,因为比较默认将使用该列的排序规则。然而,此索引无法加速涉及其他排序规则的查询。因此,如果对形如

SELECT * FROM test1c WHERE content > constant COLLATE "y";

的查询也感兴趣,可以像这样创建另一个支持 "y" 排序规则的索引

CREATE INDEX test1c_content_y_index ON test1c (content COLLATE "y");

提交更正

如果您在文档中发现任何不正确之处、与您对特定功能的实际体验不符之处,或者需要进一步澄清的地方,请使用 此表单 报告文档问题。