Практическое задание

Лучше начать с проверки кардинальности JOIN, ключей и плана выполнения — первого варианта. Проверка уникальности обеих таблиц полезна как часть этой диагностики.

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

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

Лучше начать с проверки кардинальности JOIN, ключей и плана выполнения — первого варианта. Проверка уникальности обеих таблиц полезна как часть этой диагностики.

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

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

Условие

Практическое задание
SQL-запрос к 80 миллионам сообщений создаёт дубликаты после JOIN. Какое действие лучше начать первым?

  • Проверить кардинальность JOIN, ключи и план выполнения до оптимизации.
  • Создать индекс по одному полю соединения.
  • Выгрузить результат в CSV и удалить дубликаты в Python.
  • Всегда добавлять DISTINCT ко всем столбцам.
  • Добавить DISTINCT после проверки результата на выборке.
  • Проверить ключи соединения и уникальность обеих таблиц.

Ответ

Лучше начать с проверки кардинальности JOIN, ключей и плана выполнения — первого варианта. Проверка уникальности обеих таблиц полезна как часть этой диагностики.

Несколько строк на один ключ дают несколько сочетаний, и это может быть ожидаемая семантика. Уточните нужную гранулярность результата, фильтры и правила выбора записи. Индекс ускоряет доступ, но не исправляет размножение строк; DISTINCT может скрыть ошибку и дорого стоить на 80 млн сообщений.

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

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

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

Подробнее