Pregunta

Posible duplicado:
En SQL, ¿cuál es la diferencia entre el conteo (columna) y el recuento ()?
Contar(
) vs Count (1)

Tengo grandes tablas que mantienen mensajes de texto largos, por ejemplo, contenido o noticias por correo electrónico. Y mi pregunta es alguna diferencia para el rendimiento para contar filas de mesa:

SELECT COUNT(*) FROM table_name

SELECT COUNT(t.id) FROM table_name as t

¿Cuál es mejor? ¿O el último será optimizado por consulta optimizador? ¿Hay alguna documentación al respecto?

¿Fue útil?

Solución

Ellos son diferentes.

COUNT(*) recuperará todos los valores (incluso el NULL Valores cuenta).COUNT(t.id) no cuenta el NULL valores.


En términos de rendimiento, son los mismos (el optimizador de consultas es inteligente).

Otros consejos

El plan de consulta se ve igual, pero en las pruebas, usar * es más rápido (ligeramente).

Sin embargo, los nulos no tienen en cuenta al especificar el nombre de una columna.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top