IT-словарь › Базы данных › Индекс по выражению

Индекс по выражению

Базы данных Svenska → Обновлено: 2026-10-18

Индекс, построенный не по столбцу, а по результату выражения или функции. CREATE INDEX ON users (lower(email)) ускоряет WHERE lower(email) = .... Также называется функциональным индексом.

Применения: регистронезависимый поиск (lower()), индексирование поля JSONB ((data->>'country')), вычисляемые ключи (date_trunc('day', created_at)). Требование: выражение должно быть IMMUTABLE, то есть детерминированным — now() не подойдёт. Запрос должен использовать в точности то же выражение, что и индекс, иначе планировщик его проигнорирует. Цена: значение пересчитывается при каждой записи. Отличается от генерируемого столбца, который материализует значение в настоящем столбце: индекс по выражению хранит только проиндексированный результат. Часто позволяет обойтись без лишних столбцов.

← Назад к словарю