2015-05-08 32 views
1

所以,我有一個28k行的excel文件。
我想加載它,然後插入數據庫,但它剛剛停止。 (空格)
我試圖減少到5k數據,它的工作,但速度太慢
我也嘗試使用chunk,只有5K數據,但我得到了「超過300秒的最大執行時間」。
這裏的代碼Laravel-Excel大規模進口

Excel::filter('chunk')->load(storage_path('excel/exports/').$fileName)->chunk(1000, function($results) 
    { 
     foreach($results as $key) 
     { 
      // even nothing to do 
     } 
    }); 

是5K行真有那麼大處理?
還是我做錯了?
謝謝。

+0

add'set_timeout(0);'爲了避免timelimit(或在php.ini中修改它) – maztch

+0

這是我的最後一個選項。所以,。有沒有別的辦法?我的意思是,我做對了嗎? –

+0

數據庫管理面板沒有導入功能嗎? –

回答

1

你正在做這本書。 (例如使用卡盤)
但是28k行是需要處理的很多數據。

您可以編輯最長執行時間。
看到:http://php.net/manual/en/function.set-time-limit.php

bool set_time_limit (int $seconds) 

希望這會有所幫助。

+0

是的,就像我在評論中所說的那樣,這將是我的最後一個選項, 那麼,28k被認爲是巨大的呃? 我試圖減少到10K的數據,並花了大約10分鐘時間來重複他們。 –

0

使用塊很好,可以防止耗盡內存,但會減慢執行時間。

如果您希望速度更快,請增加塊的數量,但要小心。

注意。大塊的每一端,你的應用程序會再次讀取文件,這需要時間。