dedlfix: User pro server, mysql num rows oder $i++

Beitrag lesen

Tach!

$E = mysql_num_rows($SQL)

oder

$I=0;
while($VAR=mysql_fetch_assoc($SQL))
{
$I++;
}

Was ist schneller?

SELECT COUNT(*) FROM ...

Ich tippe auf zweite Variante, da erste ja eine extra Verbindung zur DB aufnimmt.

In beiden Fällen muss die Client-API (also der in PHP eingebaute Teil, der für die Kommunikation mit MySQL zuständig ist) alle Datensätze abholen, bevor sie die Datensatzanzahl kennen kann. Das passiert üblicherweise schon beim mysql_query() im Hintergrund. Der Unterschied ergibt sich beim Anwenden der beiden Varianten in deren Laufzeit. Beide können jedoch die Antwort ohne eine weitere Anfrage zum MySQL-Server bringen. Aber für beide sind auch sinnlos die Datensätze übertragen worden, falls man sie nicht weiter braucht.

dedlfix.