mysql select count()
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfang
anzahl
bestimmtes feld
code
differenz
einfachen code
ende
ergebnis
exakte rechenzeit
funktionieren
laufzeit
machen
messen
performance
sekunde
speichern
testen
unterschied
varianten brauchen
verbrauch
-
Hallo
macht es einen (Performance) Unterschied,
ob ich COUNT auf (*) Alles oder auf eine bestimmtes Feld ('ID') anwende ?
a)
$sql = "SELECT COUNT(*) as anzahl FROM meinetabelle"; $result = mysql_query($sql); $resdata = mysql_fetch_assoc($result); echo "<br />Gesamt: ".$resdata['anzahl']."\n";
b)
$sql = "SELECT COUNT('ID') as anzahl FROM meinetabelle"; $result = mysql_query($sql); $resdata = mysql_fetch_assoc($result); echo "<br />Gesamt: ".$resdata['anzahl']."\n";
oder ist es egal ob COUNT(*) oder COUNT('ID') ?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Deine 2. Version wird nicht funktionieren
Du musst das wenn schon so schreiben:SELECT COUNT(ID) as anzahl FROM meinetabelle
Auch möglich wäre das:SELECT COUNT(`ID`) as anzahl FROM meinetabelle
Aber einfache
stehen für etwas ganz anderes und du würdest vermutlich einen Fehler bekommen…'
Zur Performance: teste es doch einfach aus. -
hm,, ich habs mit den einfachen
gemacht, und es hat funktioniert, mit Ergebnis'
aber ok, dann halt ohne Anführungszeichen, einfachCOUNT(ID)
ich habe beides mal auf Script-Laufzeit getestet ... so gut wie kein Unterschied,
beide Varianten brauchen zwischen 0.0010 und 0.0020 Sekunden, quasi nichts.
allerdings habe ich auch "nur" ca. 2500 Zeilen in der Tabelle
.... also es wird wohl egal sein, ob COUNT(ID) oder COUNT(*)
zum Performance testen:
wie ich (RAM) Speicher-Verbrauch messen kann, weiss ich nicht,
mit memory_get_peak_usage() oder Differenz von memory_get_usage() von Anfang und Ende ?
memory_get_peak_usage() ist am Anfang und am Ende gleich
und ein deutlich höherer Wert als memory_get_usage() am Ende?!
oder ganz anders ? ... und kann man auch CPU-Nutzung per PHP messen ?
-
Also, wenn ich mich recht entsinne, wird bei jedem Query in phpMyAdmin ausgegeben, wie lang er gebraucht hat. Ich bin mir nicht 100% sicher ob das die exakte Rechenzeit ist, aber einen Versuch ist es wert.
Einfach über phpMyAdmin -> Query was probieren. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage