Що таке вкладене внутрішнє з'єднання?

Щоразу, коли порядок виконання операцій об’єднання у виразі об’єднання ( joined_table ) не зліва направо, ми говоримо про вкладені об’єднання. Розглянемо такі запити: SELECT * FROM t1 LEFT JOIN (t2 LEFT JOIN t3 ON t2. b=t3. b) ON t1. a=t2.

Об’єднання вкладеного циклу підходить для невеликих таблиць або коли одна таблиця набагато менша за іншу. Хеш-об'єднання ефективніше для великих таблиць, хоча Злиття найкраще підходить для об’єднання відсортованих таблиць.

У з’єднанні вкладеного циклу сервер бази даних сканує першу або зовнішню таблицю, а потім приєднує кожен із рядків, які проходять фільтри таблиці, до рядків, знайдених у другій або внутрішній таблиці.

Часто результати корельованого підзапиту можна відтворити за допомогою INNER JOIN. Залежно від ваших вимог, використання INNER JOIN може бути більш ефективним, оскільки воно робить лише один прохід через дані, тоді як корельований підзапит має виконуватися для кожного рядка у зовнішньому запиті.

Метод вкладеного паралельного з’єднання подібний до методу вкладеного. Різниця в тому, що підзапити, видані для перегляду правої сторони об'єднання, видаються паралельно, а не один за іншим. Він приймає додатковий параметр, який визначає максимальну кількість підзапитів, виданих паралельно.