Il mio google-fu e così-fu mi sta venendo a mancare qui, quindi tanto vale chiedere.TSQL - Qual è l'ordine corretto per unire le tabelle?
Ho molte query con più join in esse.
In una query, sto unendo intestazione/voce/dettagli insieme, così come guardando i vari bit di informazione per questi record.
Quando mi unisco, cerco di mantenere le cose in ordine di come sono correlate. Es .: La mia intestazione ha due tabelle di ricerca, quindi mi unirò a quelle prima di unirmi alla tabella dei miei articoli.
È corretto?
È meglio unirsi a tabelle più grandi prima delle tabelle di ricerca? O vice versa?
Devo utilizzare un suggerimento loop
quando ci si unisce a piccoli tavoli e un suggerimento merge
quando si uniscono a openrowsets?
Sono sicuro che la risposta è "dipende", ma alcune linee guida generali di entrare in modo efficace ed efficiente sarebbe molto utile. Grazie!
Nella maggior parte dei casi non è necessario specificare il tipo di join (unione/loop/hash). Se lo fai ci sono probabilmente problemi sottostanti che dovrebbero essere risolti invece del cerotto di benvenuto. –
A meno che tu non sappia bene cosa stai facendo e tu capisca i piani di esecuzione delle query, non utilizzare MAI i suggerimenti per le query. – JotaBe