Wie wärs mit SELECT COUNT(*)...?
Gibt mir "SELECT COUNT(*) FROM tablename"
direkt die Anzahl der Zeilen zurück?
hast Recht, ist sogar noch komplizierter als Deine Version ;-) Mir ist aber keine derartike Funktion bekannt, aber selbst ist der Mann:
<?
function num_rows($tabelle){
global $link;
$result = mysql_query ("SELECT * FROM $tabelle",$link);
return mysql_num_rows($result);
}
echo num_rows("Tabelle");
?>
Wer sich bei drei Millionen Einträgen zurückhalten will, die gesamte Tabelle abzugrasen, um "nur" die Einträge zu zählen, der sollte sich mal mit dem MySQL-Befehl "SHOW TABLE STATUS" befassen. Da wird alles mögliche (unter anderem auch die Anzahl der Zeilen) angezeigt - und sicherlich schneller, als wenn man die Datenbank befragt.
http://www.little-idiot.de/mysql/mysql-126.html
- Sven Rautenberg