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

Важен ли порядок полей в составном индексе

Да, порядок полей в составном индексе критически важен. Индекс эффективен только для запросов, которые используют префиксный набор полей (слева направо). Например, для индекса (A, B, C):

  • Запрос с условием A = ? — использует индекс
  • Запрос с A = ? AND B = ? — использует индекс
  • Запрос с B = ? — НЕ использует индекс (пропущено поле A)

Пример:

sql
-- Индекс (department, salary)
CREATE INDEX idx_dept_salary ON employees(department, salary);

-- Использует индекс
SELECT * FROM employees WHERE department = 'IT' AND salary > 5000;

-- НЕ использует индекс (пропущен department)
SELECT * FROM employees WHERE salary > 5000;

Поля следует располагать по убыванию селективности (наиболее селективные первыми) для оптимальной производительности.

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

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

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

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