私はあるテーブルから別のテーブルにIDを更新する簡単な作業があります。 私の現在のソリューションは非常に遅く、phpとmysqlの両方で動作しています。 セクターテーブルには約9000個のレコードがあり、ソーステーブルには17Milがあります。 $ sector->コードは、これまでのところ、私はこれを得たforeachよりも速いクエリ
varchar型にある:
foreach(Sector::orderBy('id','DESC')->get() as $sector){
DB::select(DB::raw("UPDATE `sources` SET `sector_id` = $sector->id WHERE `sector` = '$sector->code'"));
}
これは、各部門の分については取っているし、それらを実行している場合は、すべてが一週間か何かで完了します。..どのオプションではありません。
問題は、すでにこのテーブルにインデックスとして3つのフィールドがあることです。そのクエリを実行しようとしましたが、それは私にとっては遅いようでした。 –