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