如何在没有得到致命错误的情况下计算mysql中的行总数:允许的内存

时间:2011-06-15 05:54:52

标签: php mysql

我在计算所有行mysql表时遇到问题Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 141954624 bytes)

$query = $db->query("SELECT * FROM table");
$count = $db->num_rows($query);

echo $count;

总行数约为17k,我得到了Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 141954624 bytes)。让我知道,如何解决它。

1 个答案:

答案 0 :(得分:5)

您可以将SQL查询更改为...

SELECT COUNT(*) AS `rows_count` FROM `table`;

然后你不必加载这么大的记录集,然后使用行计数函数来获取行数。