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

Всегда ли помогают индексы в БД

Индексы не всегда помогают и могут даже ухудшить производительность.

Когда индексы полезны:

  • Для часто используемых условий в WHERE, JOIN, ORDER BY.
  • При поиске по уникальным или высокоселективным полям.

Когда индексы могут навредить:

  • В таблицах с частыми INSERT/UPDATE/DELETE — индексы замедляют запись.
  • Если таблица маленькая — сканирование может быть быстрее, чем поиск по индексу.
  • При неселективных запросах (например, WHERE status = 'active', если 90% строк имеют этот статус).

Пример:

sql
-- Хороший случай для индекса
CREATE INDEX idx_user_email ON users(email);
SELECT * FROM users WHERE email = 'user@example.com';

-- Плохой случай (мало уникальных значений)
CREATE INDEX idx_user_gender ON users(gender);
SELECT * FROM users WHERE gender = 'M';  -- Индекс может игнорироваться

Оптимизация индексов требует анализа запросов и данных.

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

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

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

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