1
表1:3500万記録 表2:1,6万レコードMySQLの巨大なデータ操作(3000万人以上のdatarecords) - 最も最適な方法
私は表1に更新クエリを実行しています3つの等価性に基づいています。両方のテーブルは、キーなしの純粋なデータ・コルです。
`UPDATE table1,table2
SET table1.TravelTime=table2.CongestionTime
WHERE table1.From = table2.From
AND table1.To = table2.To
AND table1.Time= table2.Time`
しかし、この操作は遅くなると思われます。このプロセスをスピードアップする創造的な方法がありますか?
現在、クエリはわずか300回の更新で実行されており、このクエリを完了するのに33時間かかることが示唆されています。
すべてのデータがために、テーブルに触れていないように、インデックスとクエリにするために、これをスピードアップするための方法は次のようになります参加する。私はCongestionTimeがテーブル2のインデックスになければならないと思います。 –
@PreetSangha:良い点。それから、それは被覆指数を形成する。私は更新します。 –
したがって、実際にはテーブルを更新する必要がありますか、または作成するインデックスステートメントでクエリを更新するだけですか? – FireFox