On Oct 18, 2007, at 5:08 PM, Brent Baisley wrote:
You don't need to do an extra count query. If you are using MySQL, just add SQL_CALC_FOUND_ROWS to your select query. SELECT SQL_CALC_FOUND_ROWS * FROM ... You can then run SELECT FOUND_ROWS() to get the total rows without any limits. It's still 2 queries, but the second one is essentially free.
If it's a relatively simple query that makes use of indexes, then it's going to be faster to do a separate count(0) query instead of SQL_CALC_FOUND_ROWS. I confirmed with some gurus at the recent mysql camp that SQL_CAL_FOUND_ROWS is faster than count(0) if it's a complex search query (i.e. where clauses/joins on non-indexed columns).
-Rob _______________________________________________ New York PHP Community Talk Mailing List http://lists.nyphp.org/mailman/listinfo/talk NYPHPCon 2006 Presentations Online http://www.nyphpcon.com Show Your Participation in New York PHP http://www.nyphp.org/show_participation.php
