1

表1:3500万レコード 表2:160万レコード

3つの等式に基づいてテーブル1で更新クエリを実行しています。どちらのテーブルも、キーのない純粋なデータコレクションです。

`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時間かかることを示唆しています。

4

1 に答える 1

5

どちらのテーブルも、キーのない純粋なデータコレクションです。

私はあなたがちょうどそこでそれを言ったと思います。この量のデータを処理するときに優れたパフォーマンスを得るには、インデックスが必要です。

複数列のインデックスを追加してみてください。

  • (From, To, Time)表1の場合。
  • (From, To, Time, CongestionTime)表2の場合。

外部キー制約を追加することが適切かどうかを検討することもできます。

関連ドキュメント

于 2012-05-10T06:37:37.043 に答える