Datenstätze zählen

Hey,

ich will gerne die Anzahl der Datensätze zählen und dann in einer Zahl ausgeben.

Also, wenn ich 10 Datensätze habe soll auf meine HomePage auch die Zahl 10 stehen!

Grüße

php.net/mysql_query
php.net/mysql_num_rows

Danke :ps:

Würd ich aber gleich in SQL zählen lassen, ist ein bisschen effektiver.

Dann wird mir lediglich die Anzahl zurückgegeben.

[quote=„freggle“]Würd ich aber gleich in SQL zählen lassen, ist ein bisschen effektiver.

SELECT COUNT(*) AS anzahl FROM tabelle;

Dann wird mir lediglich die Anzahl zurückgegeben.[/quote] Ist zwar nur eine Zeile, aber mit sicherheit nicht „effektiver“. :ps:
Was soll daran bitte EFFEKTIVER sein ?!
EFFEKTIVER, so ein Blödsinn! :susp:

[quote]$query = mysql_query(„SELECT * FROM tabelle;“);
$anzahl = mysql_num_rows($query);

$query = mysql_query(„SELECT COUNT(*) AS anzahl FROM tabelle;“);
$row_as = mysql_fetch_assoc($query);

echo („mysql_num_rows(“.$anzahl.")");
echo ("
");
echo („mysql_fetch_assic(“.$row_as[„anzahl“].")");[/quote] Was ist daran jetzt EFFEKTIVER ?! :astonished:

mfg

Dazu mal zwei Links:
–> xhtmlforum.de/49430-count-vs-mys … post362755
–> forums.mysql.com/read.php?115,55854,55854
vielleicht ist daraus ja zu ersehen, dass die Variante Mysql zählen zu lassen wesentlich performanter ist.

Ein SELECT * überführt alle betroffene Datensätze in ein Resultset, d.h. man hat alle Felder eine Tabelle aus der DB heraus gezogen und gespeichert und das vorzugsweise im RAM des DB Servers.

Wenn ich mir also vorstelle, das ich bei meiner größten DB mit über 96.000 Datensätze von jedem Besucher mir den DB Server damit belaste dann wähle ich doch lieber die klügerere Variante, da der Wirkungsgrad nicht mehr zu vergleichen ist mit der Einfachvariante.

SELECT COUNT(*) hält nur die nackte Zahl, also ein paar Bytes.

Viele Mysql Anwender denken tatsächlich zu einfach wenn sie wie hier z.B. SELECT * wählen ohne sich über die Konsequenzen für den Server Gedanken zu machen.

Man stelle sich vor hier würden nur 20 gut besuchte Websites so arbeiten, das würde alles bis fast auf den Nullpunkt runterziehen.

Also denkt lieber zwei mal.

An WCCW:

Du musst nicht immer denken das man dir ans Bein pinkeln will, nur weil jemand eine andere Lösung hat, also immer ruhig mal darüber nachdenken, was denn da eigentlich vorgeschlagen wurde.

[quote]An WCCW:

Du musst nicht immer denken das man dir ans Bein pinkeln will, nur weil jemand eine andere Lösung hat, also immer ruhig mal darüber nachdenken, was denn da eigentlich vorgeschlagen wurde.[/quote] Das sag Ich doch gar nicht.
Ich wollte nur wissen, was daran bitte „EFFEKTIVER“ sein soll.
Es ist vielleicht schneller und nicht so Serverlastig, aber nicht EFFEKTIVER. :susp:

Das mit dem "SELECT " hab Ich nur geschrieben, um damit auch andere sachen anstellen zu können, z.b. User zu listen oder sowas.
Und das ist mit dem COUNT(
) nicht möglich. :unamused:

Es führt beides zum gleichen ergebniss, also ist es relativ egal, welche Variante man nun nehmen wird.
Ob man dabei dem Server etwas gutes tut, oder nicht - Da achten die wenigsten drauf.

Ihr solltet es mal nicht immer so Negativ sehen und nicht als Persöhnlichen Angriff aufnehmen.

mfg

Na das sehe ich nicht so, dazu gehört etwas mehr.

Aber beim lesen deiner Beiträge hatte ich umgekehrt den Eindruck, also wenn du wegen Kleinkram gleich an die Decke springst, wenn nicht ist ja gut.

EFFEKTIVER Code ist immer derjenige der das beste Ergebnis beim geringsten Verbrauch von Ressourcen ist und das ist nicht immer der Code der aus den wenigsten Zeilen besteht, denn der Code leistet auch Arbeit.

Daran mangelt es auch bei erfahrenen Proggern.

Das dumme ist nur das viele solcher Zeilen eine Anwendung darstellen und dann läuft diese Anwendung nicht nur lahm ohne Ende sondern behindert auf shared Webservern auch alle anderen.

Gerade bei Freehostern versuchen sich ja auch Anfänger, ist ja logisch, aber wenn die nun alle deine Auslegung von EFFEKTIVER folgen, dann darf man sich nicht wundern was dann hier nicht abgeht.

Also sollte man doch lieber Vorschläge vorlegen die das berücksichtigen, dann haben alle mehr Freude an ihren Programmierergebnissen und der Rest ebenfalls.

[quote]Aber beim lesen deiner Beiträge hatte ich umgekehrt den Eindruck, also wenn du wegen Kleinkram gleich an die Decke springst, wenn nicht ist ja gut.[/quote] Das liest sich vielleicht so, ist aber nicht. :p

ok.
ich persöhnlich wusste gar nichts davon, das sowas gleich mit sql machbar ist.

wo finde ich eine gute, vollständige SQL_Referenz, damit ich meine Scripte auch optimieren kann?

die vollständige manual gibs immernoch hier
dev.mysql.com/doc/refman/5.1/de

suppi, thx :wink2:

Für Leute die etwas mehr machen wollen als Mysql Pippifax empfehle ich

frank-staude.de/uploads/Vortraeg … select.pdf

zu lesen.