代碼如下
$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 回答

慕田峪7331174
TA貢獻1828條經驗 獲得超13個贊
即使你已經進行變量銷毀了,但是有兩個問題,一,你的內存全部釋放了嗎?二,你確定 5000 * 5000 的數據量沒有關系么? limit 的參數,1 是從第幾個開始,后面的參數是獲取多少條數據。
- 3 回答
- 0 關注
- 417 瀏覽
添加回答
舉報
0/150
提交
取消