Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14

11.10. 索引和排序

一个索引只能对每个索引列支持一种排序规则。如果需要多种排序规则,就应该建多个索引。

考虑这些语句:

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");