11.11. Índices e ordenações #

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