Usar COUNT
, internamente el servidor procesará la solicitud de manera diferente.
Al hacer COUNT
, el servidor solo asignará memoria para almacenar el resultado del conteo.
Al usar mysql_num_rows
, el servidor procesará todo el conjunto de resultados, asignará memoria para todos esos resultados y pondrá el servidor en modo de recuperación, lo que involucra muchos detalles diferentes, como el bloqueo.
Piense en ello como los siguientes pseudo escenarios:
SELECT COUNT(*)
Hola Bob, ¿cuántas personas hay en el salón de clases?
mysql_num_rows
Oye, Bob, envíame a todas las personas del salón de clases... Yo mismo las contaré para obtener el número de personas
En resumen, al usar mysql_num_rows
está transfiriendo todos los registros al cliente, y el cliente tendrá que calcular el recuento por sí mismo.