Как вы будете отлаживать и ускорять SQL-запрос с девятью JOIN, который выполняется 15 минут, до целевого времени около 20 секунд?

Сначала найду конкретные дорогие узлы плана и проверю корректность оценок строк. Девять JOIN сами по себе не объясняют 15 минут и не гарантируют возможность достичь 20 секунд.

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

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

Сначала найду конкретные дорогие узлы плана и проверю корректность оценок строк. Девять JOIN сами по себе не объясняют 15 минут и не гарантируют возможность достичь 20 секунд.

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

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

Сначала найду конкретные дорогие узлы плана и проверю корректность оценок строк. Девять JOIN сами по себе не объясняют 15 минут и не гарантируют возможность достичь 20 секунд.

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

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

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

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

Подробнее