Social Icons

twitter facebook google plus linkedin

jueves, 7 de junio de 2012

¿Qué es mejor: select count(*), select count(1) o select count('nombre_columna')?

Constantemente se escuchan discusiones sobre qué método es mejor para saber la cantidad de registros que tiene una tabla. Todos tienen su forma favorita, porque es más eficiente, más rápido y, en definitiva, es mejor.

En lo personal no tengo preferidas, porque en SQL Server (y en Oracle: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1156159920245 ) son exactamente lo mismo.

Mostraré el resultado de cada plan de ejecución estimado para cada caso y verán que son exactamente iguales.

select count(*)

[caption id="attachment_1352" align="alignnone" width="300" caption="select count(*)"]select count(*)[/caption]

select count(1)

[caption id="attachment_1351" align="alignnone" width="300" caption="select count(1)"]select count(1)[/caption]

select count('nombre_columna')

[caption id="attachment_1350" align="alignnone" width="300" caption="select count('nombre_columna')"]select count('nombre_columna')[/caption]

 

Conclusión: Solo es cosa de gustos :)