Подтвердить что ты не робот

Когда я должен использовать INNER -LOOP-JOIN вместо INNER JOIN

Сегодня я узнал про вещь в SQL Server под названием INNER LOOP JOIN.

Что это значит? (Google не помогает.. или я должен сказать... сообщения в блоге об этом немного... технические и дуют мои мысли).

Кроме того, каковы некоторые распространенные сценарии, которые будут хорошей идеей использовать INNER LOOP JOIN по стандарту INNER JOIN?

4b9b3361

Ответ 1

LOOP | HASH | MERGE - это ссылки на советы Указывает, что соединение в запросе должно использовать цикл, хеширование или слияние. Использование LOOP | HASH | MERGE JOIN обеспечивает конкретное соединение между двумя таблицами. LOOP не может быть указан вместе с RIGHT или FULL в качестве типа соединения

Вы всегда должны использовать INNER JOIN. Пусть оптимизатор запросов решил, что хочет сделать соединение LOOP, MERGE или HASH. Вы бы обнаружили, что почти во всех случаях оптимизатор будет лучше судить. Какой из них будет использоваться и когда можно будет найти из моей презентации http://sqlbits.com/Sessions/Event4/Understanding_Graphical_Execution_Plans.

Ответ 2

То, что вы имеете в виду, - это подсказка присоединиться. Как и другие подсказки, ссылки на соединения следует указывать только в качестве последнего средства, так как большую часть времени SQL-сервер будет выбирать правильный алгоритм. Хорошая статья, чтобы объяснить некоторые из них this.