is het mogelijk om het aantal rows in een tabel te tellen via een query, en is dit sneller dan de PHP functie mysql_num_rows?
Ja, met de functie COUNT() (zie handleiding van jouw database). Dat is vele, vele malen sneller dan eerst alle data ophalen en volgens in PHP alsnog te gaan tellen hoeveel records er zijn. Het ophalen van de records is namelijk volkomen overbodig.
SQL_CALC_FOUND_ROWS ken ik overigens niet. Welke database gebruikt dit?
Edit: MySQL dus... (mompel iets over m'n mond houden... ;) )
SELECT
COUNT(*) AS aantal
FROM
tabelnaam
Let er wel op dat dit een agregate functie is en je wellicht (afhankelijk van de benodigde data) ook een GROUP BY nodig hebt. MySQL kan hiermee hopeloos de mist ingaan. Hanteer de SQL-92 standaard en er is niets aan de hand, je krijgt dan correcte data retour.
Ik gebruik MySQL. (sorry dat ik het zeg tegen iemand met in zijn profiel "Use PostgreSQL!" :P)
Idd, count werkt inderdaad massa's beter, bedankt!
Ik had er al over gelezen maar ik dacht dat het een functie was om alle waarden van alle rows bij elkaar op te tellen :S