Практическое задание

Наиболее прямой следующий шаг — проверить фильтры, сортировку, селективность и подобрать индекс по плану. Сам по себе Seq Scan не доказывает, что нужен любой индекс.

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

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

Наиболее прямой следующий шаг — проверить фильтры, сортировку, селективность и подобрать индекс по плану. Сам по себе Seq Scan не доказывает, что нужен любой индекс.

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

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

Условие

Практическое задание Django API медленно отдаёт список, а EXPLAIN ANALYZE показывает последовательное чтение большой таблицы. Какой следующий шаг будет полезнее?

  • Проверить N+1 и число SQL-запросов ORM параллельно с планом.
  • Добавить индекс на поле сортировки без проверки фильтра.
  • Создать индексы на всех столбцах таблицы.
  • Увеличить ресурсы PostgreSQL и наблюдать.
  • Кэшировать весь список навсегда в Redis.
  • Проверить фильтры, сортировку, селективность и подобрать индекс по плану.

Ответ

Наиболее прямой следующий шаг — проверить фильтры, сортировку, селективность и подобрать индекс по плану. Сам по себе Seq Scan не доказывает, что нужен любой индекс.

Сравните ожидаемое и фактическое число строк, актуальность статистики и объём читаемых данных. Для выборки значительной части таблицы последовательное чтение может быть разумным; проблему тогда ищут в контракте списка и объёме результата. Проверить N+1 параллельно тоже полезно, но это другой уровень, не объясняющий автоматически данный план. Индексы на всех столбцах и вечный кеш добавляют риски. Выбранное изменение проверяют на характерных параметрах и общей стоимости записи.

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

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

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

Подробнее