sql >> Base de Datos >  >> RDS >> Sqlserver

¿Qué es lo mejor para verificar si el artículo existe o no? ¿Seleccionar Recuento (ID) O Existir (...)?

EXISTE, siempre

  • COUNT recorrerá la tabla o un índice:usted pidió un COUNT
  • EXISTS se detendrá tan pronto como encuentre una fila

Editar, para que quede claro

Por supuesto, en este caso, si la columna de correo electrónico es única e indexada, se cerrará.

En general, EXISTS utilizará menos recursos y también es más correcto. Está buscando la existencia de una fila, no "más de cero", incluso si son iguales

Edit2:En EXISTS, puede usar NULL, 1, ID o incluso 1/0:no está marcado...

Edición del 21 de mayo de 2011:

Parece que esto se optimizó en SQL Server 2005+, por lo que COUNT ahora es lo mismo que EXISTS en este caso