如果我不使用LIMIT,使用COUNT()和FOUND_ROWS()有什么区别?

时间:2011-11-22 05:32:10

标签: mysql

使用

之间有区别吗?
SELECT COUNT()

针对

SELECT FOUND_ROWS()

我知道当你有一个限制时,应该使用找到的行,但是如果你没有使用限制,那真的有什么不同吗?

2 个答案:

答案 0 :(得分:4)

您将获得相同的结果,但有两种不同的方式。

COUNT()是在选择和分组数据时使用的aggregated function

FOUND_ROWS()是information function在之后使用另一个选择来获取有关所发生事件的信息。

如果你只需要COUNT()的行数,那就更快了。

像这样:

select count(*) as number_of_rows from some_table where something = something group by something;

select * from some_table where something = something group by something;
select found_rows();

答案 1 :(得分:1)

select count(*) from tablename

获取表tablename

中行数的最有效方法
SELECT FOUND_ROWS();

http://dev.mysql.com/doc/refman/5.1/en/information-functions.html#function_found-rows