谁能告诉我在查找表的行数时,他在 MySQL 中哪种方法更好:这样做更好吗
SELECT COUNT(*) FROM TABLE_NAME
或查找表TABLE
中的行数INFORMATION_SCHEMA
?
这将是计算页面分页计数的频繁操作吗?
我应该补充一点,表最多只有几千行。
谢谢
马丁奥谢。
在MyISAM
中,此查询:
SELECT COUNT(*)
FROM TABLE_NAME
是即时的,因为它保存在表元数据中,所以发出这个查询几乎是免费的,它总是会得到正确的结果。
在InnoDB
中,此查询将逐一计算行数,这可能需要一些时间。
因此,如果您不需要 的确切值COUNT(*)
,您可以查询INFORMATION_SCHEMA
。
如果您发现速度太慢SQL_CALC_FOUND_ROWS
,我也会考虑使用。SELECT FOUND_ROWS()
COUNT(*)