【发布时间】:2011-11-22 05:32:09
【问题描述】:
使用有区别
SELECT COUNT()
反对
SELECT FOUND_ROWS()
我知道当你有限制时应该使用找到的行,但如果你不使用限制,真的有什么区别吗?
【问题讨论】:
标签: mysql
使用有区别
SELECT COUNT()
反对
SELECT FOUND_ROWS()
我知道当你有限制时应该使用找到的行,但如果你不使用限制,真的有什么区别吗?
【问题讨论】:
标签: mysql
你会得到相同的结果,但有两种不同的方式。
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();
【讨论】:
select count(*) from tablename
是获取表tablename中行数最有效的方法
SELECT FOUND_ROWS();
http://dev.mysql.com/doc/refman/5.1/en/information-functions.html#function_found-rows
【讨论】: