以下は、特定のユーザーの平均投票ポイントを計算し、それをユーザー テーブルに入れるクエリです。
update usersinfo as users
set users.averageVote =
(select AVG(vote.votePoint) from votelist as vote
where users.userNum = vote.targetUserNum);
「usersinfo」テーブルには 10,000 行、「votelist」テーブルには約 15,000 行あります。各ユーザーは 1 ~ 3 の投票レコードを持っています。
'votelist' テーブルの 'votePoint' は tinyint 値 (0~100) です。
'userNum' と 'targetUserNum' は中間の int プライマリ キーです。
「usersinfo」テーブルの「averageVote」は 10 進数 (5,2) です。
上記のクエリの実行時間は約 83 秒です。このクエリのパフォーマンスを最適化する方法はありますか?