Встречается на собеседованиях • сегодня
Почему может не сработать индекс в БД
Индекс может не сработать в следующих случаях:
- Несоответствие типа данных – например, сравнение строки с числом без явного приведения типов.
- Использование функций в условиях –
WHERE UPPER(name) = 'JOHN'не использует индекс поname. - Оператор
LIKEс начальным wildcard –WHERE name LIKE '%ohn%'обходит индекс. - Неселективность индекса – если индекс охватывает >15-20% данных, оптимизатор может выбрать full scan.
- Отсутствие статистики – устаревшая статистика ведёт к неоптимальным планам запросов.
- Составной индекс с неправильным порядком – для
INDEX(a,b)условиеWHERE b = 1не использует индекс.
Пример:
sql
-- Индекс не используется из-за функции
SELECT * FROM users WHERE SUBSTRING(email, 1, 5) = 'admin';
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы