Встречается на собеседованиях • сегодня
Что будешь делать, если планировщик не использует индекс при поиске записи
Проверю несколько возможных причин и решу проблему:
- Оптимизатор не видит выгоды - если таблица маленькая, индекс может игнорироваться. Проверю размер таблицы:
sql
EXPLAIN ANALYZE SELECT * FROM users WHERE status = 'active';- Неподходящий тип данных - сравнение разных типов (например, строки с числом) может пропускать индекс. Проверю типы полей.
- Низкая селективность - если условие охватывает >30% данных, сканирование может быть выгоднее. Проверю селективность:
sql
SELECT COUNT(*) FROM table WHERE condition;-
Статистика устарела - выполню
ANALYZE TABLEдля обновления статистик. -
Функции в условиях - выражения типа
WHERE UPPER(name) = 'JOHN'мешают использованию индекса. Перепишу запрос. -
Составной индекс - проверю порядок колонок в индексе для запросов с несколькими условиями.

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