2012-04-18 15 views
5

Qual è la differenza principale tra un join loop nidificato e un join hash? Non ne ho idea e tutto quello che so è che appaiono nel piano di esecuzione di una query. Qualcuno può far luce su questo?Differenza tra join loop nidificato e hash join in SQL Server 2008

+0

possibile duplicato del [Ciò che rende un ottimizzatore di query SQL decidere tra un ciclo nidificato e un hash join] (http://stackoverflow.com/questions/1975623/what-makes-an-sql-query-optimiser-decide-between-a-ested-loop-and-a-hash-join) –

risposta

7

Ecco alcuni collegamenti. Sono d'accordo con usr, la domanda non è molto costruttiva, dal momento che per risponderti dovremmo semplicemente ripetere ciò che è stato scritto altrove. Se vuoi riformulare la tua domanda in un modo molto più specifico, ad es. mostraci una query e un piano che ha un tipo in cui potresti aspettarti un altro o vuoi sapere perché è stato scelto un tipo specifico, quindi penso che sarebbe una domanda molto più adatta. I seguenti collegamenti dovrebbero aiutare:

http://blog.tanelpoder.com/2010/10/06/a-the-most-fundamental-difference-between-hash-and-nested-loop-joins/

http://www.madeira.co.il/loop-hash-and-merge-join-types/

http://www.simple-talk.com/sql/performance/execution-plan-basics/

query optimizer operator choice - nested loops vs hash match (or merge)

+0

Questo w come richiesto in un'intervista per la quale sono appena apparso. Dal momento che non sapevo da dove cominciare, ho pensato di postare la domanda qui. Grazie per l'aiuto. – rvphx