Вопрос проверяет умение диагностировать проблемы с индексами на уровне выполнения запросов.
Главный признак — использование Seq Scan вместо Index Scan. Также настораживают большие значения actual rows и долгий actual time. Если фильтрация происходит после чтения всей таблицы, индекс не используется.
EXPLAIN ANALYZE показывает, как именно база данных выполняет запрос.
Отсутствие использования индекса означает, что СУБД читает данные напрямую из таблицы, а не через индексную структуру.
Seq Scan
полный проход по таблице.
Filter вместо Index Cond
условия применяются после чтения строк.
Большое число прочитанных строк
actual rows ≫ результирующих строк.
Высокий actual time
значительные задержки на чтение.
Seq Scan on users
Filter: (age > 30)
отсутствие подходящего индекса,
низкая селективность условия,
устаревшая статистика.
Если в плане запроса присутствует Seq Scan и фильтрация выполняется после чтения данных, индекс не используется, что часто приводит к снижению производительности.