0

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

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 秒。有没有办法优化这个查询的性能?

4

1 回答 1

1
Create Index 
    I_TargetUserNum 
On votelist(
    targetusernum,
    votepoint
);
于 2013-10-20T12:46:20.903 回答