Почему PostgreSQL может не использовать существующий индекс?

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

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

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

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

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

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

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

Проверьте соответствие условий выражению и порядку колонок индекса, приведения типов, статистику и фактическую селективность. У частичного индекса предикат должен подходить запросу. Маленькая таблица часто быстрее читается целиком. Сравните EXPLAIN с фактическими данными в безопасном окружении; наличие индекса не является указанием планировщику обязательно его использовать.

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

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

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

Подробнее