Protože to okrádá optimalizátor o příležitost zvážit jiné metody, které mohou být efektivnější.
Když je distribuce dat (o které se optimalizátor rozhoduje) silně zkreslená a statistika ji nedokáže správně reprezentovat.
Toto jsou různé algoritmy.
-
LOOPje vnořená smyčka:pro každý záznam z vnější tabulky se hledá shoda ve vnitřní tabulce (pomocí indexu dostupných). Nejrychlejší, když pouze malá část záznamů z obou tabulek splňujeJOINaWHEREpodmínky. -
MERGEseřadí obě tabulky, projde jimi v pořadí řazení a přeskočí neshodné záznamy. Nejrychlejší proFULL JOINs a když jsou obě sady záznamů již seřazeny (z předchozích operací řazení nebo při použití přístupové cesty indexu) -
HASHvytvořte hashovací tabulku v dočasném úložišti (paměť nebotempdb) z jedné z tabulek a vyhledá v ní každý záznam z druhé tabulky. Nejrychlejší, pokud velká část záznamů z kterékoli tabulky odpovídáWHEREaJOINpodmínka.