Как работает hash join для таблиц на 1 000 и 1 000 000 строк?

Hash Join — это алгоритм соединения двух таблиц по ключу, который эффективен при больших объёмах данных и отсутствии индексов.

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

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

Hash Join — это алгоритм соединения двух таблиц по ключу, который эффективен при больших объёмах данных и отсутствии индексов.

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

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

Hash Join — это алгоритм соединения двух таблиц по ключу, который эффективен при больших объёмах данных и отсутствии индексов.

Принцип работы:

  1. Выбирается меньшая таблица (build side). Для неё строится хеш-таблица, где ключ — значение столбца для соединения, а значение — строки с этим ключом.
  2. Проходится по большей таблице (probe side), для каждой строки вычисляется хеш ключа и ищется совпадение в хеш-таблице.
  3. Если совпадение найдено, строки объединяются и добавляются в результат.

Преимущества:

  • Быстрая операция поиска благодаря хешированию.
  • Не требует сортировки данных.

Ограничения:

  • Требует памяти для хранения хеш-таблицы.
  • Эффективен, когда одна таблица значительно меньше другой.

Пример упрощённо:

-- Таблица A (меньшая)
id | name
---|-----
1  | Alice
2  | Bob

-- Таблица B (большая)
id | order
---|-------
1  | Order1
2  | Order2
3  | Order3

-- Hash Join по id:
-- Создаём хеш-таблицу из A по id
-- Проходим по B, для каждого id ищем в хеш-таблице и объединяем

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку