因此,基本上我正在尝试将数据从另一个表导入到我的数据库中的大约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运行得更快,但它似乎起到了相反的效果。任何指导都将不胜感激!
暂无答案!
目前还没有任何答案,快来回答吧!