Индекс может поддерживать только одно правило сортировки для каждого столбца индекса. Если требуется поддержка нескольких правил сортировки, может потребоваться создание нескольких соответствующих индексов.
Рассмотрим следующие операторы:
CREATE TABLE test1c (
id integer,
content varchar COLLATE "x"
);
CREATE INDEX test1c_content_index ON test1c (content);
Индекс автоматически использует правило сортировки базового столбца. Таким образом, запрос вида
SELECT * FROM test1c WHERE content > константа;
сможет использовать данный индекс, так как при сравнении по умолчанию будет применяться правило сортировки столбца. Однако этот индекс не может ускорить выполнение запросов, в которых используются иные правила сортировки. Поэтому, если запросы вида, например,
SELECT * FROM test1c WHERE content > константа COLLATE "y";
также представляют интерес, можно создать дополнительный индекс, поддерживающий "y" правила сортировки следующим образом:
CREATE INDEX test1c_content_y_index ON test1c (content COLLATE "y");