Встречается на собеседованиях • сегодня
По каким полям создавал бы индекс, при медленном запросе и выборкой по нескольким полям
При медленном запросе с выборкой по нескольким полям стоит создать составной индекс, включающий поля в порядке их использования в WHERE/JOIN/ORDER BY.
Критерии:
- Первым в индексе идёт поле с высокой селективностью (уникальные значения)
- Далее добавляются остальные поля из условий WHERE
- Если есть сортировка (ORDER BY) — включаем эти поля после условий
Пример:
sql
-- Запрос:
SELECT * FROM orders
WHERE user_id = 100 AND status = 'SHIPPED'
ORDER BY created_at DESC;
-- Оптимальный индекс:
CREATE INDEX idx_orders_user_status_created ON orders(user_id, status, created_at);Нюансы:
- Порядок полей критичен: индекс
(A, B)≠(B, A) - Индексы неэффективны для
LIKE '%text%'илиIS NULL - Избыточные индексы замедляют INSERT/UPDATE

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы