我有一個報告生成功能。 導出爲csv或txt。 對於每個月它將是25000記錄每行55列。 每年它將超過300000! 我嘗試添加內存限制,但我不認爲它的好!無論如何現在它的128M。php進程 - 一個接一個 - 模擬線程
我的期望
我將用戶所選擇的時間範圍分成範圍爲25天或30 我將運行25天取的數據,然後寫入CSV。 然後取下25000,寫下。喜歡這個。
我該如何做到這一點?
用於提取正在使用的功能$result= fetchRecords();
對於寫作CSV,我通過這個$結果數組來查看頁面並通過逗號上午印刷循環和分隔條件。
所以控制器將是$template->records=$result;
如果我這樣做在一個for循環
for(){
$result= fetchRecords();
$template->records=$result;
}
我不hink這會工作。
如何做到這一點?執行fetch.write然後獲取然後寫入。
你可以請建議更好的方式來實現這個在PHP中保持它在內存限制?
如果是歷史數據,您是否考慮過準備/緩存報告?除非用戶可以要求提供隨機報告,否則不需要一次又一次處理所有行。...... – Wrikken 2010-10-11 01:43:02
它只與歷史數據類似。緩存如何有用? – zod 2010-10-11 02:27:52
如果您只是簡單地從數據庫準備好並寫入CSV,則可能會考慮使用另一種語言。 PHP不是*文本處理的偉大語言。 – meagar 2010-10-13 13:24:39