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