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

Какие индексы будешь добавлять в БД

Для оптимизации запросов в БД добавляю индексы на:

  1. Первичные ключи (PRIMARY KEY) - создаются автоматически, обеспечивают уникальность
  2. Внешние ключи (FOREIGN KEY) - ускоряют JOIN-операции
  3. Поля для частых фильтров (WHERE) - например, status, category_id
  4. Поля для сортировки (ORDER BY) - если часто сортируем по created_at
  5. Составные индексы - для сложных запросов, порядок полей важен

Пример для PostgreSQL:

sql
-- Одиночный индекс
CREATE INDEX idx_users_email ON users(email);

-- Составной индекс (порядок важен!)
CREATE INDEX idx_orders_user_status ON orders(user_id, status);

Не индексирую:

  • Часто изменяемые поля (индекс нужно перестраивать)
  • Поля с низкой селективностью (например, пол gender с 2 значениями)
  • Все подряд (индексы замедляют INSERT/UPDATE/DELETE)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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