php—使用laravel的chunk方法向数据库插入许多记录会随着时间的推移而变慢

2izufjch  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(255)

因此,基本上我正在尝试将数据从另一个表导入到我的数据库中的大约15个不同的表中。我从源数据库中分块数据,并在该函数回调中使用原始sql将其插入到数据库中。代码示例:

foreach($tables as $table) {    
     DB::connection('source_db')->table($table)->select($fields)->orderBy('id'))->chunk(2500, function($records) use($table) {
          $this->runInsertQuery($records, $table);
     });
}

总共有大约200万条记录,似乎开始的速度很快,但随着表之间的移动,速度越来越慢,需要几个小时才能完成。根据laravel的文档,我的印象是分块可以让insert运行得更快,但它似乎起到了相反的效果。任何指导都将不胜感激!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题