【问题标题】:Copying database rows in .csv file takes too long在 .csv 文件中复制数据库行需要很长时间
【发布时间】:2016-10-20 01:42:56
【问题描述】:

我想将文件从数据库复制到 .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 小时或更少。

我的问题是: 还有其他更快的功能吗?对不起我的英语!

【问题讨论】:

    标签: database sqlite laravel-5


    【解决方案1】:

    您需要在一个事务中完成所有插入操作。

    【讨论】:

      猜你喜欢
      • 2014-03-19
      • 1970-01-01
      • 2013-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      • 2022-09-28
      相关资源
      最近更新 更多