Seq Scan нормален, когда запросу нужна значительная часть таблицы, подходящего индекса нет или последовательное чтение дешевле множества обращений через индекс. Большой размер не делает его ошибкой автоматически.
Когда Seq Scan является нормальным, в том числе на большой таблице?
Seq Scan нормален, когда запросу нужна значительная часть таблицы, подходящего индекса нет или последовательное чтение дешевле множества обращений через индекс. Большой размер не делает его ошибкой автоматически.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Seq Scan нормален, когда запросу нужна значительная часть таблицы, подходящего индекса нет или последовательное чтение дешевле множества обращений через индекс. Большой размер не делает его ошибкой автоматически.
Например, полная агрегация или неселективный фильтр могут выигрывать от последовательного, в том числе параллельного, чтения. Индекс требует прочитать его страницы и часто дополнительно обратиться к таблице. Оценивайте фактические строки, buffers, время и точность оценок планировщика, а не только название узла плана. Устаревшая статистика или неподходящее выражение запроса могут привести к неудачному выбору. Отключать Seq Scan глобально вместо диагностики обычно неправильно.