Когда принимается решение, использовать ли индекс при выполнении SQL-запроса?

Решение об использовании индекса принимает оптимизатор при построении плана, оценивая стоимость доступных способов выполнения. Само наличие индекса не заставляет его использоваться.

Короткий ответ

Что ответить на собеседовании

Решение об использовании индекса принимает оптимизатор при построении плана, оценивая стоимость доступных способов выполнения. Само наличие индекса не заставляет его использоваться.

Подробный разбор

Ответ с пояснениями

Решение об использовании индекса принимает оптимизатор при построении плана, оценивая стоимость доступных способов выполнения. Само наличие индекса не заставляет его использоваться.

Учитываются статистика, селективность, размер таблицы, сортировка, LIMIT и стоимость чтения. Prepared statements могут использовать общий или зависящий от параметров план — это зависит от СУБД. Если выбор неудачен, сначала проверьте статистику и фактический план, а не отключайте последовательный проход вслепую.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее