我在应用程序中实现了一个排行榜,我想每隔几次更新一次。 对于我创造了排行榜的两个表,每一个看起来是这样的:用低成本CPU进行MySql更新
user_id, score, rank
,这是我的更新查询:
select score from leaderboard order by score for update;
select(@rankCounter := 0);
update leaderboard set rank = (select(@rankCounter := @rankCounter + 1)) order by score desc;
我用我的活动表的查询和每隔几时间我切换活动表。
此更新目前需要3分钟(在我的机器上)才能更新4M原始数据。 我希望减少所需的CPU数量,我不在乎更新会花费更长的时间。
我该怎么做?
TNX帮我提高性能一点,但q问题是如何减少CPU,因为时间几乎没有改变,所以它的CPU。 –