Middle
¿Qué funciona más rápido: count(*) o count(nombre_de_la_columna)?
sobes.tech AI
Respuesta de la IA
En la mayoría de los SGBD, count(*) y count(nombre_columna) funcionan con lógicas diferentes:
count(*)cuenta todas las filas, incluyendo aquellas donde los valores en las columnas pueden ser NULL.count(nombre_columna)cuenta solo las filas donde el valor en la columna especificada no es NULL.
En términos de rendimiento, count(*) suele ser más rápido o igual de rápido, ya que la base de datos no necesita verificar los valores en una columna específica, simplemente cuenta las filas. En algunos motores optimizados, count(*) puede usar metadatos o índices para un conteo rápido.
Ejemplo:
SELECT count(*) FROM users; -- cuenta todas las filas
SELECT count(email) FROM users; -- cuenta solo las filas donde email no es NULL
En resumen: si solo necesitas el conteo total de filas, es mejor usar count(*), ya que generalmente es más rápido y preciso.