11.11. Индексы и правила сортировки#

11.11. Индексы и правила сортировки

11.11. Индексы и правила сортировки

Индекс может поддерживать только одно правило сортировки для каждого столбца индекса. Если требуется несколько правил сортировки, может потребоваться создание нескольких индексов.

Рассмотрим следующие операторы:

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