我沒有具體問題。我想聽聽關於記憶問題的想法和技巧。導出大量數據和內存問題
比方說,我有:
- 100萬件產品上的產品表產品名稱表
- 100 000產品名稱產品說明表
- 200 000產品圖片
- 100 000產品說明在產品圖片表上
我想將它們導出到excel文件。我如何在一個普通的服務器上做到這一點。
我應該查詢所有產品並加入表格,還是使用極限和偏移量,並且像50 000次那樣做?
我應該循環mysql結果並將數據每隔一段時間保存到一個文件中,然後將它們結合在一起?
我應該創建多個較小的Excel文件並在最後將它們結合起來嗎?
所以真正的問題是你使用什麼技術來防止有太大的mysql結果,太大的變量大小(將整個mysql數據保存到一個數組),太大的excel變量數據(創建一個巨大的excel vs 。創建多個小組合並)。
PS。這些想法不必與我給你的優秀例子相關聯。我想學習如何處理大量的數據。
首先,取決於您是要創建真正的Excel BIFF(.xls)還是OfficeOpenXML(.xlsx)文件,或者是否使用簡單的逗號分隔值(csv)文件來滿足您的需要:如果是後者,那麼當你從數據庫中讀取結果而不是在內存中構建任何大型數組時,你會寫每一行 –