代码如下
$num = M('log')->where("date_format(create_time,'%Y-%m') = '$date'")->count('id');
for($i = 0; ($i+5000)<=20000;$i += 5000){
$datas = M('credit_log')->where("date_format(create_time,'%Y-%m') = '$date'")->limit($i,$i+5000)->select();
echo $this->convert(memory_get_usage(true)).'<br/>';
unset($datas);
//sleep(5);
}
循环几次之后,内存溢出,为什么会内存溢出?因为unset函数没有释放内存?
3 回答
![?](http://img1.sycdn.imooc.com/545847aa0001063202200220-100-100.jpg)
慕田峪7331174
TA贡献1828条经验 获得超13个赞
即使你已经进行变量销毁了,但是有两个问题,一,你的内存全部释放了吗?二,你确定 5000 * 5000 的数据量没有关系么? limit 的参数,1 是从第几个开始,后面的参数是获取多少条数据。
- 3 回答
- 0 关注
- 393 浏览
添加回答
举报
0/150
提交
取消