所以基本上,我得到了2个表格。 第一个表格包含100万行或其他内容,其中有一个名为'telefon'的空字段。Laravel从数据库表到另一个表1mill rows,slow
现在,我得到了第二个表,其中有另一个表中的'telefon'字段值。
我想出了这个解决方案,但这需要永远。这已经过去了一个小时,检查数据库表时只有1600行。有没有更快的方法来做到这一点?提前致谢。
DB::table('phones') -> orderBy('id') -> chunk(100, function($old) {
foreach ($old as $x) {
DB::table('companies')
-> where('organisasjonsnummer', $x -> businessCode)
-> update([
'telefon' => $x -> contact
]);
}
});
是的,那就是我想要做的。不,他们没有编入索引。 但我同意,这会更快,但我怎么会写在Laravels查询建设者?我应该使用'DB :: raw(...)'吗? 谢谢。 – Kaizokupuffball
因为没有要转义的参数,所以可以将它包装到'DB :: statement()'中,这只是一个普通的查询。 –
我明白了。看起来它正在工作。谢谢! :) – Kaizokupuffball