Встречается на собеседованиях • сегодня

Как индексировать данные в столбце в БД по условию

Для индексации данных по условию в SQL используйте условные (частичные) индексы. Они создаются только для строк, удовлетворяющих заданному условию, что экономит место и ускоряет запросы.

Пример в PostgreSQL:

sql
CREATE INDEX idx_active_users ON users (email) 
WHERE status = 'active';

В MySQL (8.0+):

sql
CREATE INDEX idx_high_salary ON employees (department_id) 
WHERE salary > 100000;

Особенности:

  • Поддерживаются не всеми СУБД (PostgreSQL, SQLite, MySQL 8.0+)
  • Уменьшают размер индекса, так как включают только нужные строки
  • Ускоряют запросы с тем же условием, что и в индексе

Ограничение: Условие должно быть детерминированным (нельзя использовать функции типа CURRENT_DATE).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы