sql >> Database >  >> RDS >> Sqlserver

SQL sluit zich aan bij SQL-subquery's (prestaties)?

Ik zou VERWACHTEN dat de eerste query sneller is, vooral omdat je een equivalentie en een expliciete JOIN hebt. In mijn ervaring IN is een erg langzame operator, aangezien SQL het normaal gesproken evalueert als een reeks WHERE clausules gescheiden door "OR" (WHERE x=Y OR x=Z OR... ).

Net als bij ALL THINGS SQL kan uw kilometerstand echter variëren. De snelheid zal onder andere sterk afhangen van indexen (heb je indexen op beide ID-kolommen? Dat zal veel helpen...).

De enige ECHTE manier om met 100% zekerheid te zeggen wat sneller is, is door prestatie-tracking in te schakelen (IO-statistieken zijn vooral handig) en ze allebei uit te voeren. Zorg ervoor dat u uw cache leegmaakt tussen runs!



  1. Ik wil alle tabellen tonen die een kolomnaam hebben opgegeven

  2. orakel kies uit meerdere tabellen

  3. 3 SQL Server-bewakingsvragen die u moet stellen bij het overnemen van een DBA-positie

  4. Laravel SUM van meerdere velden retourneert null met onbewerkte query