getreidemuehlen
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 13.06.2003, 23:45   #1
TP-Senior
 
Registriert seit: Mar 2003
Tommie macht alles soweit korrekt

mysql_num_rows + SELECT COUNT(*)...unterschiede???


hallo,

ich frage mich gerade was denn der Unterschied zwischen den Befehlen "mysql_num_rows" und dem COUNT Befehl ist. Mit beiden kann man sich die Zeilen zählen lassen und auch WHERE Bedingungen etc. einbauen.
Ich habe dazu nichts gefunden...wie sieht es z.B. mit der Geschwindigkeit aus?
Tommie ist offline   Mit Zitat antworten


Alt 13.06.2003, 23:51   #2
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Ein Select count(...) ist deutlich schneller, da wirklich NUR gezählt wird. Wenn man einen "normalen" Query fährt und danach mysql_num_rows() aufruft. Wurde das ganze Resultset des Querys geladen. Also wirklich alle Ergebnisse.
Du kannst dir das auch so vorstellen: Jede Tabelle "weiss" wieviele Datensätz in Ihr enthalten sind. Also würde ein count(*) nur diese Info abfragen. Währen ein SELECT * FROM, alle Daten ziehen würde und bereitstellen würde.

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 14.06.2003, 00:15   #3
TP-Senior
 
Registriert seit: Mar 2003
Tommie macht alles soweit korrekt
ja, das ist richtig, aber ich kann ja auch nur ein bestimmtes Feld (z.B. die ID) auswählen. Dann muss ja nicht viel geladen werden...genauso kann ich bei COUNT auch nur das ID Feld zählen lassen (wenn es mir nur um die Gesamtanzahl der Reihen geht). Aber nehmen wir mal an das COUNT ist wirklich schneller, für was braucht man da MYSQL_NUM_ROWS noch?
Tommie ist offline   Mit Zitat antworten
Alt 14.06.2003, 00:25   #4
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Zitat:
Original geschrieben von Tommie
ja, das ist richtig, aber ich kann ja auch nur ein bestimmtes Feld (z.B. die ID) auswählen. Dann muss ja nicht viel geladen werden...genauso kann ich bei COUNT auch nur das ID Feld zählen lassen (wenn es mir nur um die Gesamtanzahl der Reihen geht).
Angenommen du willst 10000 Datesätze zählen und fragst "nur" die ID ab um dann via mysql_num_rows zu zählen. Dann MUSS PHP oder MySQL dir trozdem die 10000 IDs irgendwo "auf Vorrat" halten. Bei einem count(id) ist es nur 1 DS, der irgendow "gehalten" werden muss...
Zitat:
Aber nehmen wir mal an das COUNT ist wirklich schneller, für was braucht man da MYSQL_NUM_ROWS noch?
Du fragst 10000 Datensätze tatsächlich ab und willst zusätzlich die Anzahl irgendwo ausgeben. Wäre Blödsinn da dann noch einen SELECT count(id) hinterher zu jagen, da die Anzahl der Ergebnissmenge ja ehh "irgendwo" stehen muss Ist nur ein Beispiel, aber nützlich ist es in manchen Situationen auf alle Fälle.

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
mysql_num_rows + SELECT COUNT(*)...unterschiede??? mysql_num_rows + SELECT COUNT(*)...unterschiede???
« Ubergabe von Variablen an ein externes Script | Problem mit Gästebuch... »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:41 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67