使用 Laravel Eloquent,我从旧 Mysql 数据库的一个表中复制 700 万行数据,并将这些行放在新 Mysql 数据库的不同表中。问题是执行此操作需要将近一天的时间,我需要为近 80M 行重新执行此操作。我一次使用 1000 个数据块。有什么方法可以更有效地做到这一点??这是我的代码:
DB::connection('oldDataBase')->table('tableToCopy')->chunk(1000, function ($AllData){
foreach ($AllData as $Data){
DB::connection('newDataBase')->table('table1')->insert(
[
column1 => $Data->columnToCopy,
etc..
]);
DB::connection('newDataBase')->table('table2')->insert(
[
column1 => $Data->columnToCopy,
etc..
]);
DB::connection('newDataBase')->table('table3')->insert(
[
column1 => $Data->columnToCopy,
etc..
]);
}
});