Laravel-Excel 大量导入
Laravel-Excel massive import
所以,我有一个包含 28k 行的 excel 文件。
我想加载它,然后插入数据库,但它刚刚停止。 (空白space)
我试图减少到 5k 数据,它起作用了,但是太慢了
我也尝试使用 chunk,只有 5k 数据,但我得到了 "Maximum execution time of 300 seconds exceeded".
这是代码
Excel::filter('chunk')->load(storage_path('excel/exports/').$fileName)->chunk(1000, function($results)
{
foreach($results as $key)
{
// even nothing to do
}
});
5k 行真的有那么大可以处理吗?
还是我做错了?
谢谢
你是在照章办事。 (以卡盘为例)
但是 28k 行需要处理的数据量很大。
您可以编辑最长执行时间。
参见:http://php.net/manual/en/function.set-time-limit.php
bool set_time_limit ( int $seconds )
希望这会有所帮助。
使用块可以很好地防止过度耗尽内存,但它会减慢您的执行时间。
如果你想让它更快,请增加块的数量,但要小心。
注意。块的每一端,您的应用程序都会再次读取文件,这需要时间。
所以,我有一个包含 28k 行的 excel 文件。
我想加载它,然后插入数据库,但它刚刚停止。 (空白space)
我试图减少到 5k 数据,它起作用了,但是太慢了
我也尝试使用 chunk,只有 5k 数据,但我得到了 "Maximum execution time of 300 seconds exceeded".
这是代码
Excel::filter('chunk')->load(storage_path('excel/exports/').$fileName)->chunk(1000, function($results)
{
foreach($results as $key)
{
// even nothing to do
}
});
5k 行真的有那么大可以处理吗?
还是我做错了?
谢谢
你是在照章办事。 (以卡盘为例)
但是 28k 行需要处理的数据量很大。
您可以编辑最长执行时间。
参见:http://php.net/manual/en/function.set-time-limit.php
bool set_time_limit ( int $seconds )
希望这会有所帮助。
使用块可以很好地防止过度耗尽内存,但它会减慢您的执行时间。
如果你想让它更快,请增加块的数量,但要小心。
注意。块的每一端,您的应用程序都会再次读取文件,这需要时间。