MySQL 计算行数总和

3

我有一个复杂的MySQL查询,从一个拥有超过150k行和多个JOIN和子查询的表中选择需要很长时间。虽然我限制了结果数量,但是我需要知道总行数。

有没有一种方法可以不用重复查询并使用COUNT(*)作为字段来获取它们?(重复查询几乎会使脚本完成所需的时间增加一倍)

2个回答

3

MySQL有一个叫做SQL_CALC_FOUND_ROWS的子句,你需要在SELECT之后,在任何字段名称之前添加它。然后,你需要调用第二个查询,只需使用SELECT FOUND_ROWS() AS rows,它会告诉你上一个查询找到了多少行。


更多信息请参见:http://dev.mysql.com/doc/refman/4.1/en/information-functions.html#function_found-rows - cmptrgeekken

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接