Um índice só pode dar suporte a uma ordenação (collation) por coluna do índice. Se houver interesse em ter várias ordenações, pode ser necessário criar vários índices.
Considere estas declarações:
CREATE TABLE test1c (
id integer,
conteúdo varchar COLLATE "x"
);
CREATE INDEX test1c_content_index ON test1c (conteúdo);
O índice usa automaticamente a ordenação da coluna subjacente. Portanto, uma consulta da forma
SELECT * FROM test1c WHERE conteúdo > constante;
pode usar o índice, porque a comparação vai usar por padrão a ordenação da coluna. Entretanto, este índice não pode acelerar consultas que envolvam alguma outra ordenação. Então, se consultas com a forma, digamos,
SELECT * FROM test1c WHERE conteúdo > constante COLLATE "y";
também são de interesse, pode ser criado um índice adicional que
dê suporte à ordenação "y", como esse:
CREATE INDEX test1c_content_y_index ON test1c (conteúdo COLLATE "y");