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

Почему важен порядок столбцов при создании составного индекса

Порядок столбцов в составном индексе критичен, потому что индекс эффективен только для запросов, использующих префикс столбцов. Например, для индекса (A, B, C):

  1. Работает для условий: A=1, A=1 AND B=2, A=1 AND B=2 AND C=3
  2. Не работает для: B=2, C=3, B=2 AND C=3

Пример:

sql
-- Хороший индекс для этих запросов
CREATE INDEX idx_name ON users(last_name, first_name);

-- Будет использоваться
SELECT * FROM users WHERE last_name = 'Smith';
SELECT * FROM users WHERE last_name = 'Smith' AND first_name = 'John';

-- Не будет использоваться
SELECT * FROM users WHERE first_name = 'John';

Общее правило: сначала ставьте столбцы с высокой селективностью (уникальные значения) и те, которые чаще используются в условиях WHERE.

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

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

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

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