SQL obteniendo optimización del recuento de filas [duplicado
-
28-10-2019 - |
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?
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.