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

Reply via email to