支持的版本:当前 (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");

提交更正

如果您在文档中发现任何不正确的内容,与您使用特定功能的经验不符或需要进一步澄清的内容,请使用此表单报告文档问题。