我在计算所有行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)
。让我知道,如何解决它。
答案 0 :(得分:5)
您可以将SQL查询更改为...
SELECT COUNT(*) AS `rows_count` FROM `table`;
然后你不必加载这么大的记录集,然后使用行计数函数来获取行数。