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

Qual è il modo migliore per verificare se l'articolo esiste o meno:selezionare Conte (ID) O Esiste (...)?

ESISTE, sempre

  • COUNT attraverserà la tabella o un indice:hai chiesto un COUNT
  • EXISTS si fermerà non appena trova una riga

Modifica, per essere chiari

Ovviamente in questo caso se la colonna email è unica e indicizzata sarà chiusa.

Generalmente, EXISTS utilizzerà meno risorse ed è anche più corretto. Stai cercando l'esistenza di una riga, non "più di zero" anche se sono uguali

Edit2:In EXISTS, puoi usare NULL, 1, ID o anche 1/0:non è selezionato...

21 maggio 2011 modifica:

Sembra che questo sia stato ottimizzato in SQL Server 2005+, quindi COUNT è ora lo stesso di EXISTS in questo caso