Если SQL-запрос работает слишком долго, что вы будете делать?

Сначала выясните, запрос вычисляется или ждёт ресурс/блокировку. Затем изучите план, объёмы, статистику и самые дорогие операции, сохраняя исходную семантику.

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

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

Сначала выясните, запрос вычисляется или ждёт ресурс/блокировку. Затем изучите план, объёмы, статистику и самые дорогие операции, сохраняя исходную семантику.

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

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

Сначала выясните, запрос вычисляется или ждёт ресурс/блокировку. Затем изучите план, объёмы, статистику и самые дорогие операции, сохраняя исходную семантику.

Проверьте фильтры, размножение строк при join, индексы, сортировки и spill. Сопоставьте оценённое число строк с фактическим на безопасной среде. EXPLAIN ANALYZE действительно выполняет запрос, поэтому для изменяющих команд и тяжёлой production-нагрузки нужна осторожность. После правки сравните не только скорость, но и результат; увеличение ресурсов не должно быть первым ответом.

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

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

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

Подробнее