下面是一个查询,它计算特定用户的平均投票点并将其放入用户表中。
update usersinfo as users
set users.averageVote =
(select AVG(vote.votePoint) from votelist as vote
where users.userNum = vote.targetUserNum);
'usersinfo' 表有 10K 行,'votelist' 表有大约 15K 行。每个用户有 1~3 条投票记录。
'votelist' 表中的 'votePoint' 是一个 tinyint 值(0~100)。
'userNum' 和 'targetUserNum' 是中等 int 主键。
'usersinfo' 表中的 'averageVote' 是小数 (5,2)。
上述查询的执行时间约为 83 秒。有没有办法优化这个查询的性能?