フィールドDATASOURCE、PEOPLEID、TOTVALUE(〜600万レコード)を持つテーブルtotalsと、フィールドPEOPLEIDとVALUE(約300万レコード)を持つテーブルsource1があります。合計で、DATASOURCE ごとに一意の peopleid がありますが、 source1には、各 peopleid に対して複数のレコードがあります。source1 のすべての peopleidはすでに totals に含まれていますが、その値には含まれていません。
「テスト」小さなテーブルでsource1から取得した合計のフィールドTOTVALUEを更新する更新クエリを取得することができましたが、今ではそれを実際のテーブルで実行しようとしているので、それは永遠に実行されています...そして私はsource2、source3などに対して繰り返す必要があります...
私が実行するクエリは次のとおりです。
UPDATE totals t
INNER JOIN
(
SELECT peopleid,
sum(value) AS TotValues
FROM source1
GROUP BY peopleid
) s
ON t.peopleid = s.peopleid
SET t.totvalue = s.TotValues
where
t.datasource like 'source1'
このクエリを実行して最適化するためのより良い方法があると思いますか?