我有一个包含字段 DATASOURCE、PEOPLEID、TOTVALUE(约 600 万条记录)的表总计和一个包含字段 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'
你认为有更好的方法来运行和优化这个查询吗?