平均功能表现?

时间:2013-10-20 12:29:25

标签: mysql sql database

下面是一个查询,用于计算特定用户的平均投票点并将其放入用户表中。

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主键。

'usersinfo'表中的'averageVote'是小数(5,2)。

上述查询的执行时间约为83秒。有没有办法优化此查询的性能?

1 个答案:

答案 0 :(得分:1)

Create Index 
    I_TargetUserNum 
On votelist(
    targetusernum,
    votepoint
);