小编Lou*_*sak的帖子

AWS上的MapReduce

还有人在AWS上玩过MapReduce吗?有什么想法吗?如何实施?

hadoop mapreduce amazon-web-services

5
推荐指数
1
解决办法
2508
查看次数

从 MySQL 获取大型数据集时 PHP 中的内存泄漏

当我对大约 60,000 条记录的用户表执行以下代码时:

mysql_connect("localhost", "root", "");
mysql_select_db("test");

$result = mysql_query("select * from users");

while ($row = mysql_fetch_object($result)) {
  echo(convert(memory_get_usage(true))."\n");
}


function convert($size) {
  $unit=array('b','kb','mb','gb','tb','pb');
  return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes)
Run Code Online (Sandbox Code Playgroud)

关于如何避免脚本在每次循环时占用额外的内存有什么想法吗?在我的实际代码中,我尝试为大型数据集提供 CSV 下载,并进行一些 PHP 预处理。

请不要建议增加 PHP 的内存限制——这是一个坏主意,更重要的是,仍然会增加使用此技术可以处理的数据集的大小。

php mysql memory-leaks

5
推荐指数
1
解决办法
6557
查看次数