Nested Loop Join особенно хорош, когда внешняя сторона небольшая, а для каждой её строки есть быстрый поиск во внутренней стороне, например по индексу.
В каких случаях Nested Loop Join подходит лучше всего?
Nested Loop Join особенно хорош, когда внешняя сторона небольшая, а для каждой её строки есть быстрый поиск во внутренней стороне, например по индексу.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Nested Loop Join особенно хорош, когда внешняя сторона небольшая, а для каждой её строки есть быстрый поиск во внутренней стороне, например по индексу.
Алгоритм перебирает внешние строки и для каждой ищет совпадения внутри. При точечном индексном доступе он быстро отдаёт первые результаты и не требует строить большую хеш-таблицу.
Если обе стороны велики и внутренний поиск превращается в повторный полный скан, стоимость резко растёт. Поэтому важны фактические числа строк и селективность, а не только наличие индекса. Nested loop также может применяться к условиям, для которых equi hash join не подходит.