谁能告诉我,在MySQL中,哪种方法更适合用来计算表的行数:是这样做更好
SELECT COUNT(*) FROM TABLE_NAME或者在INFORMATION_SCHEMA的表TABLE中查找行数
在计算页面的分页计数时,这会是一个频繁的操作吗?
我应该补充的是,表格最多只能有几千行。
谢谢
马丁·奥谢。
发布于 2009-06-19 14:43:50
在MyISAM中,此查询如下:
SELECT COUNT(*)
FROM TABLE_NAME是即时的,因为它保存在表元数据中,所以发出这个查询几乎是免费的,并且总是得到正确的结果。
在InnoDB中,此查询将逐个计算行,这可能需要一些时间。
因此,如果您不需要COUNT(*)的确切值,您可以查询INFORMATION_SCHEMA。
发布于 2013-06-07 11:13:11
如果你觉得COUNT(*)太慢,我也会考虑使用SQL_CALC_FOUND_ROWS和SELECT FOUND_ROWS()。
https://stackoverflow.com/questions/1018336
复制相似问题