我有一個循環遍歷MySQL表(約600,000行)的PHP 5腳本,並且對於每行,基於源表的每一行上的列的16個其他彙總信息表(這通過檢查彙總行是否存在來完成,如果是的話,更新它,否則插入它)。處理大量行時MySQL 5.1內存泄漏
問題是,隨着進程的繼續,mysqld.exe進程會佔用越來越多的內存,直到耗盡系統並崩潰PHP腳本。 PHP腳本沒有獲得內存,只有mysqld.exe進程。在PHP腳本中,每個從表中讀取都是免費的($resultset->free()
聲明),所以一切都會好的。
你將不得不表現出一定的代碼是什麼?你正在運行的查詢類型,任何臨時表或變量等......可能性是你的過程可以被優化,以便一次總結所有內容,而不是一次一行。 – Fosco 2011-05-25 16:17:56
您還應該查看/發佈您的'my.cnf'(或者可能是Windows中的'my.ini')。那裏有內存限制。 – 2011-05-25 16:59:44