Выбор ответа Junior EXPLAIN и оптимизация обновлено

Всегда ли Seq Scan плохо

Вопрос

В каком случае Seq Scan в плане ожидаем и нормален?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Таблица маленькая или нужна большая доля строк. Последовательное чтение быстрое: страницы идут подряд.

Варианты ответа

  1. Таблица маленькая или нужна большая доля строкправильный ответ
  2. Никогда: это признак отсутствия нужного индекса
  3. При запросе SELECT * без условия LIMIT
  4. Если у таблицы нет первичного ключа

Разбор

Последовательное чтение быстрое: страницы идут подряд. Для маленьких таблиц и для выборок большой доли строк оно дешевле индекса, и планировщик выбирает его сознательно. Seq Scan проблема, когда из большой таблицы нужна малая доля строк. SELECT * и наличие первичного ключа на выбор скана напрямую не влияют.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме