SA Шпаргалка

Все ответы в 2 клика

Продвинутый

Что такое Hash Join и Nested Loop Join в планах выполнения (EXPLAIN)?

Это физические алгоритмы, которыми СУБД соединяет таблицы:

1. Nested Loop (Вложенный цикл): СУБД берет первую строку из Таблицы А и пробегает по всей Таблице Б в поисках совпадений. Потом вторую строку и т.д. Эффективно, если одна из таблиц очень маленькая или есть хорошие индексы.
2. Hash Join (Хэш-соединение): СУБД берет меньшую таблицу, строит в оперативной памяти хэш-таблицу по ключу соединения. Затем сканирует большую таблицу и мгновенно ищет совпадения в хэш-таблице. Очень быстро для больших таблиц, но требует много RAM.
3. Merge Join: Обе таблицы сначала сортируются по ключу, а затем сливаются за один проход (как застежка-молния).

Сложная тема? Разберём на мок-интервьюЗаписаться на менторство →

Другие вопросы темы «Выполнение запросов»

Ещё вопросы раздела «SQL и БД»

Все вопросы раздела «SQL и БД»