Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Criteri di filtro SQL nei criteri di unione o clausola where che è più efficiente

Non userei le prestazioni come fattore decisivo qui e, onestamente, non credo che ci sia alcuna differenza di prestazioni misurabile tra questi due casi, davvero.

Userei sempre il caso n. 2 - perché? Perché secondo me dovresti inserire solo i criteri effettivi che stabiliscono il JOIN tra le due tabelle nella clausola JOIN - tutto il resto appartiene alla clausola WHERE.

È solo questione di mantenere le cose pulite e mettere le cose al loro posto, IMO.

Ovviamente, ci sono casi con LEFT OUTER JOIN in cui il posizionamento dei criteri fa la differenza in termini di risultati restituiti:questi casi sarebbero ovviamente esclusi dalla mia raccomandazione.

Marco