问题报告 纠错本页面

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