7

谁能告诉我在查找表的行数时,他在 MySQL 中哪种方法更好:这样做更好吗

SELECT COUNT(*) FROM TABLE_NAME

或查找表TABLE中的行数INFORMATION_SCHEMA

这将是计算页面分页计数的频繁操作吗?

我应该补充一点,表最多只有几千行。

谢谢

马丁奥谢。

4

2 回答 2

18

MyISAM中,此查询:

SELECT  COUNT(*)
FROM    TABLE_NAME

是即时的,因为它保存在表元数据中,所以发出这个查询几乎是免费的,它总是会得到正确的结果。

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

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

于 2009-06-19T14:43:49.567 回答
1

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

于 2013-06-07T03:13:11.093 回答