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

В чем разница между двумя отдельными индексами и одним составным индексом на те же два поля

Отдельные индексы работают независимо и оптимизируют запросы только по одному полю. Составной индекс (A, B) эффективен для запросов с условиями по A или по A и B вместе, но не по B отдельно.

Пример:

sql
-- Отдельные индексы
CREATE INDEX idx_a ON table(a);
CREATE INDEX idx_b ON table(b);

-- Составной индекс
CREATE INDEX idx_a_b ON table(a, b);

Ключевые отличия:

  1. Составной индекс использует порядок полей (левый префикс)
  2. Для WHERE a = 1 AND b = 2 составной индекс эффективнее
  3. Для WHERE b = 2 составной индекс не поможет, нужен отдельный на b
  4. Составной индекс занимает меньше места, чем два отдельных
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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