2010-03-03 55 views
3

我有一个复杂的MySQL查询,它需要大量的时间,从超过150k行的表中进行选择,并且有多个JOINS和子查询。我限制了结果的数量,但是我需要知道总的行数。MySQL总行数

有没有办法重复查询与COUNT(*)作为领域得到他们? (重复查询几乎使脚本完成的时间加倍)

回答

3

MySQL有一个名为SQL_CALC_FOUND_ROWS的子句,您在SELECT之后和任何字段名称之前放置了子句。然后你调用第二个查询,它只是SELECT FOUND_ROWS() AS rows,它给你前面的查询找到了多少行。

+0

有关详情,请访问:http://dev.mysql.com/doc/refman/4.1/en/information-functions.html#function_found-rows – cmptrgeekken 2010-03-03 02:15:17