Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Anzahl der MySQL-Tabellenzeilen herausfinden (https://www.delphipraxis.net/56599-anzahl-der-mysql-tabellenzeilen-herausfinden.html)

malo 8. Nov 2005 14:56


Anzahl der MySQL-Tabellenzeilen herausfinden
 
Hi!

Ich suche eine (möglichst einfache) Möglichkeit, aus einer MySQL-Tabelle abzufragen, wieviele Zeilen die Tabelle hat. Ich verwende nebenbei auch eine "ID"-Spalte mit Auto_increment, falls die dabei helfen könnte... ;)

//edit: Programmiersprache dabei ist übrigens PHP, falls es wichtig ist (ich hoffe aber, dass es über SQL-Abfragen geht) ;)

Luckie 8. Nov 2005 14:59

Re: Anzahl der MySQL-Tabellenzeilen herausfinden
 
War da nicht was mit Count?
SQL-Code:
SELECT count(*) FROM MyTable
Das sollte dir die Anzahl der Datensätze zurückgeben und da ein Datensatz eine Zeile entspricht, hast du die Anzahl der Zeilen.

r_kerber 8. Nov 2005 15:12

Re: Anzahl der MySQL-Tabellenzeilen herausfinden
 
Zitat:

Zitat von malo
Ich verwende nebenbei auch eine "ID"-Spalte mit Auto_increment, falls die dabei helfen könnte...

Das sollte nicht helfen. Wenn Du einzelne Datensätze mal löschst, wird nämlich nicht neu durchnummeriert. Also wirst Du Luckies Vorschlag nutzen müssen.

malo 8. Nov 2005 15:14

Re: Anzahl der MySQL-Tabellenzeilen herausfinden
 
Zitat:

Zitat von Luckie
War da nicht was mit Count?
SQL-Code:
SELECT count(*) FROM MyTable
Das sollte dir die Anzahl der Datensätze zurückgeben und da ein Datensatz eine Zeile entspricht, hast du die Anzahl der Zeilen.

Danke, es lag mir auf der Zunge :)


Zitat:

Zitat von r_kerber
Zitat:

Zitat von malo
Ich verwende nebenbei auch eine "ID"-Spalte mit Auto_increment, falls die dabei helfen könnte...

Das sollte nicht helfen. Wenn Du einzelne Datensätze mal löschst, wird nämlich nicht neu durchnummeriert. Also wirst Du Luckies Vorschlag nutzen müssen.

Naja, ich war mir zum Zeitpunkt des Postings nicht so ganz sicher, wie ich das bewerkstelligen soll. Aber count sollte ich eigentlich schon länger kennen, es ist mir nur entfallen ;)

seifman 8. Nov 2005 15:24

Re: Anzahl der MySQL-Tabellenzeilen herausfinden
 
Schau mal hier : mysql_num_rows.

Die Funktion liefert Dir für eine Abfrage die Anzahl der Datensätze.

mfg

Bernhard Geyer 8. Nov 2005 15:33

Re: Anzahl der MySQL-Tabellenzeilen herausfinden
 
Zitat:

Zitat von seifman
Schau mal hier : mysql_num_rows.

Die Funktion liefert Dir für eine Abfrage die Anzahl der Datensätze.

mfg

Schon mal abgefragt wenn die Ergebnismenge 2 Mio. Datensätze hat?
Ich denke mal das diese Lösung alles andere als Performant ist da erst die Ergebnismenge erstellt wird und für die Fragestellung viel zu viele Infos beinhaltet.

seifman 8. Nov 2005 15:41

Re: Anzahl der MySQL-Tabellenzeilen herausfinden
 
Es versteht sich ja wohl von selbst, dass man seine Abfrage mittels Bedingungen so genau wie möglich eingrenzt.

Die Aggregatfunktion COUNT benötigt auch seine Zeit, weshalb sich da bei der Performance wohl kaum Unterschiede ergeben werden.

Sharky 8. Nov 2005 17:19

Re: Anzahl der MySQL-Tabellenzeilen herausfinden
 
Zitat:

Zitat von seifman
... Die Aggregatfunktion COUNT benötigt auch seine Zeit, weshalb sich da bei der Performance wohl kaum Unterschiede ergeben werden.

Hai seifman,

der Unterschied ist ja das in dem einen Fall erst alle Datensätze an den Client übermittelt werden müssen um zu wissen wieviele Datensätze es sind. Im anderen Fall ermittelt der Server die Anzahl und gibt genau diesen einen Wert als Ergebniss an den Client.

Das kann einen sehr großen Geschwindigkeitsunterschied ausmachen. Stelle dir mal vor das der WEB/PHP Server nicht die selbe Maschiene wie der Datenbankserver ist und diese über eine nicht performante Leitung verbunden sind.

r_kerber 8. Nov 2005 17:58

Re: Anzahl der MySQL-Tabellenzeilen herausfinden
 
Zitat:

Zitat von Sharky
Zitat:

Zitat von seifman
... Die Aggregatfunktion COUNT benötigt auch seine Zeit, weshalb sich da bei der Performance wohl kaum Unterschiede ergeben werden.

der Unterschied ist ja das in dem einen Fall erst alle Datensätze an den Client übermittelt werden müssen um zu wissen wieviele Datensätze es sind. Im anderen Fall ermittelt der Server die Anzahl und gibt genau diesen einen Wert als Ergebniss an den Client.

Und man kann sie IMHO auch noch beschleunigen, wenn man nicht über alle Datensätze zählt sondern lediglich über den PK:
SQL-Code:
SELECT COUNT(pk_spalte) FROM tabelle

seifman 8. Nov 2005 18:02

Re: Anzahl der MySQL-Tabellenzeilen herausfinden
 
Ok, dann sollte ich das mal ausprobieren.

mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:24 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz