Eftersom detta berövar optimeraren möjligheten att överväga andra metoder som kan vara mer effektiva.
När datadistributionen (som optimeraren fattar sina beslut på) är kraftigt skev och statistiken inte kan representera den korrekt.
Det här är olika algoritmer.
-
LOOP
är kapslade loopar:för varje post från den yttre tabellen, söks den inre tabellen efter matchningar (med hjälp av indexet för tillgängligt). Snabbast när endast en liten del av poster från båda tabellerna uppfyllerJOIN
ochWHERE
villkor. -
MERGE
sorterar båda tabellerna går igenom dem i sorteringsordningen och hoppar över de omatchade posterna. Snabbast förFULL JOIN
s och när båda postuppsättningarna redan är sorterade (från tidigare sorteringsoperationer eller när indexåtkomstvägen används) -
HASH
bygga en hashtabell i den tillfälliga lagringen (minne ellertempdb
) från en av tabellerna och söker efter varje post från den andra. Snabbast om den stora delen av poster från endera tabellen matcharWHERE
ochJOIN
skick.