Тъй като това лишава оптимизатора от възможността да обмисли други методи, които могат да бъдат по-ефективни.
Когато разпределението на данните (за което оптимизаторът взема своите решения) е силно изкривено и статистиката не е в състояние да го представи правилно.
Това са различни алгоритми.
-
LOOPе вложени цикли:за всеки запис от външната таблица, вътрешната таблица се търси за съвпадения (използвайки индекса на наличните). Най-бързо, когато само малка част от записите от двете таблици отговарят наJOINиWHEREусловия. -
MERGEсортира и двете таблици ги обхожда в реда на сортиране, като пропуска несъвпадащите записи. Най-бързият заFULL JOINs и когато двата набора записи вече са сортирани (от предишни операции за сортиране или когато се използва пътя за достъп до индекса) -
HASHизградете хеш таблица във временното хранилище (памет илиtempdb) от една от таблиците и търси в нея всеки запис от другата. Най-бързо, ако голямата част от записите от която и да е таблица съответства наWHEREиJOINсъстояние.