Эта статья еще в разработке. Дописываем примеры
Содержит индексы на таблички. Используется для ускорения тяжёлых запросов. На текущий момент индексы полностью соответствуют создаваемым индексам в PostgreSQL. Рекомендуется изучить её документацию.
Индексы описываются в таблице public.indexes
. Колонки этой таблицы:
Колонка | Описание |
---|---|
name |
Название индекса. Не может быть пустым, содержать пробелы, строки / и __ . |
entity_id |
Сущность, к которой относится индекс. |
expressions |
Массив выражений, по которым строится индекс. После выражения можно указывать параметры сортировки (как в ORDER BY и /оператор индексирования/. |
included_expressions |
Массив выражений, хранимых внутри индекса. Соответствует INCLUDE в CREATE INDEX . |
is_unique |
Должен ли индекс быть уникальным. Это позволяет вводить более гибкие ограничения на уникальность, чем unique_constraints , однако не рекомендуется использовать для этого индекс, если уникальность не надо проверять по выражениям. |
predicate |
Логическое выражение для колонок, по которым строится индекс. Соответствует WHERE в CREATE INDEX . |
type |
Тип индекса. Поддерживаются btree , gist и gin . |
На текущий момент поддерживается только оператор индексирования trgm
, который поддерживает строки и типы индексов gin
и gist
. Он создаёт индекс триграм, используя pg_trgm
.
SELECT
rating,
name,
last_communication,
notes
FROM
base.contacts
WHERE
is_client
ORDER BY
rating DESC NULLS LAST
entity_id | expressions | is_unique | name | predicate | type |
---|---|---|---|---|---|
base.contacts |
rating DESC NULLS LAST |
false |
clients_idx |
is_client |
btree |