Когда оптимизатор может не использовать существующий индекс?

Оптимизатор может предпочесть полный просмотр, если запрос возвращает большую часть таблицы, таблица мала или индекс не соответствует условию. Наличие индекса не означает, что его использование дешевле.

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

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

Оптимизатор может предпочесть полный просмотр, если запрос возвращает большую часть таблицы, таблица мала или индекс не соответствует условию. Наличие индекса не означает, что его использование дешевле.

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

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

Оптимизатор может предпочесть полный просмотр, если запрос возвращает большую часть таблицы, таблица мала или индекс не соответствует условию. Наличие индекса не означает, что его использование дешевле.

Проверьте селективность, актуальность статистики, порядок полей составного индекса, преобразования типов и функции над столбцом. Для частичного индекса условие запроса должно позволять доказать соответствие его предикату. Стоимость случайного чтения и необходимость обращаться к таблице тоже влияют на выбор. Сравнивайте план с реальными объёмами и задержками, а не требуйте Index Scan любой ценой.

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

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

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

Подробнее