所以基本上我试图将数据导入到我的数据库中的大约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的文档,我的印象是,分块会使插入运行得更快,但它似乎产生了相反的效果。任何指导将不胜感激!