
Fary Jhoel Trujillo Plana
Pregunta¿ Cual de las siguientes select es mas eficiente y porque ? SELECT COUNT(*) FROM pots o SELECT COUNT(Id) FROM pots

Julio César Reyes Velasco
Agrego a los acertados comentarios la opcion de escribir count(1), ya que dicho comando no accede a ningun valor de la tabla para realizar un conteo.

Cristian Pisco Intriago
si el Campo ID no permite almacenar valores nulos, en términos de eficiencia y velocidad, el COUNT() y COUNT(ID) viene a ser lo mismo, la respuesta es instantanea. Si el campo ID acepta valores nulos, aparece una diferencia en el resultado de los queries, cuando haces COUNT(ID) la base de datos realiza un escaneo de toda la tabla y devuelve el conteo de filas que no son NULL; para ese escenario, el COUNT() es más eficiente.

Manuel Ojeda
Cuando requieres hacer un conteo de todos se utiliza * sin importar si cuenta con nulos o no.
El segundo obtiene los conteos que su columna no estén vacías o nulos.