每个索引每个索引列只能支持一种排序规则。如果需要多个排序规则,可能需要多个索引。
考虑以下语句
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");