获取MySQL中的表的行数?

时间:2009-06-19 14:41:09

标签: sql mysql count row

任何人都可以告诉我,在查找表格的行数时,他在MySQL中的哪个更好的appraoch:是否更好做

SELECT COUNT(*) FROM TABLE_NAME

或在TABLE的表INFORMATION_SCHEMA中查找行数?

这是计算页面分页计数的常用操作吗?

我应该补充说,表格最多只有几千行。

由于

Martin O'Shea。

2 个答案:

答案 0 :(得分:18)

MyISAM中,此查询:

SELECT  COUNT(*)
FROM    TABLE_NAME

是即时的,因为它保存在表格元数据中,因此几乎可以自由发出此查询,并且它将始终获得正确的结果。

InnoDB中,此查询会逐行计算行数,这可能需要一些时间。

因此,如果您不需要COUNT(*)的确切值,则可以查询INFORMATION_SCHEMA

答案 1 :(得分:1)

如果您发现SQL_CALC_FOUND_ROWS太慢,我还会考虑使用SELECT FOUND_ROWS()COUNT(*)