Назад к вопросам
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;
Важно проверить, поддерживает ли конкретная СУБД такую возможность.