Снимите SQL с реальными параметрами и сравните план на production-объёме. Отсутствие подходящего индекса проверяют в схеме; последовательное сканирование в плане само по себе ещё не доказывает его отсутствие.
Как диагностировать проблему, когда API с фильтром по `title` быстро работает на тесте, но на продакшене с 100 миллионами записей отвечает десятки секунд? Как увидеть отсутствие индекса?
Снимите SQL с реальными параметрами и сравните план на production-объёме. Отсутствие подходящего индекса проверяют в схеме; последовательное сканирование в плане само по себе ещё не доказывает его отсутствие.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Снимите SQL с реальными параметрами и сравните план на production-объёме. Отсутствие подходящего индекса проверяют в схеме; последовательное сканирование в плане само по себе ещё не доказывает его отсутствие.
Проверьте оператор: title = значение, префикс и поиск подстроки требуют разных подходов. Функция lower(title), приведение типа или неподходящая сортировка могут мешать использованию обычного индекса. Посмотрите оценки строк, число прочитанных страниц, сортировку, OFFSET и время ожидания блокировок. EXPLAIN ANALYZE выполняет запрос: применяйте его с ограничениями нагрузки. После изменения индекса или запроса измерьте результат на репрезентативных данных.