Sobes.tech
Назад к вопросам
Junior — Middle
61

Можно ли создать индекс в базе данных, основываясь на определённых условиях или фильтрах?

Компании, где спрашивали
Stroki

Ответ от нейросети

sobes.tech AI

Да, в некоторых системах управления базами данных можно создавать индекс с условием или фильтром — такие индексы называются частичными (partial index) или фильтрованными (filtered index).

Они индексируют только те строки, которые удовлетворяют заданному условию, что позволяет уменьшить размер индекса и повысить производительность запросов, которые используют это условие.

Пример для PostgreSQL:

CREATE INDEX idx_active_users ON users (last_login) WHERE active = true;

Этот индекс будет содержать только записи пользователей с активным статусом.

В SQL Server аналогично:

CREATE INDEX idx_filtered ON users (last_login) WHERE active = 1;

Важно проверить, поддерживает ли конкретная СУБД такую возможность.