在.csv文件中复制数据库行需要太长时间

时间:2016-06-18 08:09:12

标签: database sqlite laravel-5

我想将数据库中的文件复制到.csv文件中。是使用此代码

        $whatday=\Carbon\Carbon::today()->toDateString();
        $file = fopen('/var/www/laravel/public/'.$whatday.'.csv', 'w');
        fwrite($file, '[OPTION1];[OPTION2]'.PHP_EOL);
        $data=\App\Status::all();
        foreach($data as $dt)
        {
            $col1= $dt->opt1;
            $col2= $dt->opt2;
            fwrite($file,
                        $col1.';'.
                        $col2.';'
                    .PHP_EOL);
            }
        } 

        fclose($file);

如果数据库中的行很少,我就没有问题(需要几秒钟),但如果行数很多(> 10000,我使用这些数据量),行的副本需要或多或少1小时。

我的问题是: 还有其他功能更快吗?抱歉我的英文!

1 个答案:

答案 0 :(得分:0)

您需要在一次交易中完成所有插入。