Сначала найду конкретные дорогие узлы плана и проверю корректность оценок строк. Девять JOIN сами по себе не объясняют 15 минут и не гарантируют возможность достичь 20 секунд.
Как вы будете отлаживать и ускорять SQL-запрос с девятью JOIN, который выполняется 15 минут, до целевого времени около 20 секунд?
Сначала найду конкретные дорогие узлы плана и проверю корректность оценок строк. Девять JOIN сами по себе не объясняют 15 минут и не гарантируют возможность достичь 20 секунд.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сначала найду конкретные дорогие узлы плана и проверю корректность оценок строк. Девять JOIN сами по себе не объясняют 15 минут и не гарантируют возможность достичь 20 секунд.
Сопоставьте actual и estimated rows, loops, чтение, сортировки, hash batches и ожидания. Частые причины — размножение строк, неселективный фильтр, неудачный порядок соединений, устаревшая статистика или spill. Уменьшайте данные до дорогих этапов без изменения семантики, рассматривайте составные индексы и предагрегацию. Измеряйте на сопоставимых данных; целевой SLA может потребовать изменения способа расчёта, а не косметической переписи SQL.