sql >> Base de Datos >  >> RDS >> Mysql

SELECCIONE COUNT() frente a mysql_num_rows();

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.