Anzahl der Datensätze in einer MySQL-Tabelle
Anzahl der Datensätze in einer MySQL-Tabelle
gibt es eine mysql-funktion, mit der ich die anzahl der datensätze in einer tabelle herausfinden kann??
Die Berlin-Brandenburg phpBB User Group
Wer kämpft kann verlieren,
wer nicht kämpft hat bereits verloren...
Wer kämpft kann verlieren,
wer nicht kämpft hat bereits verloren...
- Blutgerinsel
- Mitglied
- Beiträge: 1801
- Registriert: 19.07.2004 18:53
- Wohnort: Landkreis Ulm
- Kontaktdaten:
Ich schon.Blutgerinsel hat geschrieben: Sonst hab ich der Antwort von MrMind nichts mehr hinzuzufügen
Man könnte neben dem MySQL Manual auch mal das von PHP lesen und bemerken das sich mysql_num_rows() auf die Datensätze eines result sets bezieht. Mit andern worten, du müsstest hier erstmal alle Sätze einer Spalte abfragen um dieses Ergebniss dann zu zählen.
Sorry, aber das ist unperformanter Müll.
MySQL liefert die Funktion count(), die genau dafür gedacht ist genannte Aufgabe zu lösen.
SELECT count(field_name) FROM table
und das ergebniss dieses Querys nutzen.
BTW: du kannst theoretisch auch count(*) nutzen, aber auch das ist lahm, weil MySQL dann erst gucken muß welche Felder existieren. Du solltest also immer genau einen feld namen angeben.
- Blutgerinsel
- Mitglied
- Beiträge: 1801
- Registriert: 19.07.2004 18:53
- Wohnort: Landkreis Ulm
- Kontaktdaten:
Klar, da aber nach einer MySQL Funktion gefragt wurde habe ich angenommen er möchte aus einer bestehenden Abfrage nachträglich ohne neues absenden eines SQL Statements die Ergebnismenge zählen...jensemann hat geschrieben: Man könnte neben dem MySQL Manual auch mal das von PHP lesen und bemerken das sich mysql_num_rows() auf die Datensätze eines result sets bezieht. Mit andern worten, du müsstest hier erstmal alle Sätze einer Spalte abfragen um dieses Ergebniss dann zu zählen.
jepSorry, aber das ist unperformanter Müll.
MySQL liefert die Funktion count(), die genau dafür gedacht ist genannte Aufgabe zu lösen.
SELECT count(field_name) FROM table
und das ergebniss dieses Querys nutzen.

Das ist so nicht korrekt da:BTW: du kannst theoretisch auch count(*) nutzen, aber auch das ist lahm, weil MySQL dann erst gucken muß welche Felder existieren. Du solltest also immer genau einen feld namen angeben.
Ergo sind Abfragen mit count(*) schneller, da keine Spalte berrücksichtigt werden muss. Würde hier ein Feldnamen stehen müsste MySQL extra dieses Feld im Auge behalten und wäre damit langsamer.MySQL Manual meint hat geschrieben: COUNT(*) ist darauf optimiert, das Ergebnis sehr schnell zurückzugeben, wenn es mittels eines SELECT von einer Tabelle abruft, wenn keine weiteren Spalten abgerufen werden und es keine WHERE-Klausel gibt.