下面是一个查询,用于计算特定用户的平均投票点并将其放入用户表中。
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'表中的'plyPoint'是一个tinyint值(0~100)。'userNum'和'targetUserNum'是一个中型int主键。
上述查询的执行时间约为83秒。有没有办法优化此查询的性能?
答案 0 :(得分:1)
Create Index
I_TargetUserNum
On votelist(
targetusernum,
votepoint
);