我在應用程序中實現了一個排行榜,我想每隔幾次更新一次。 對於我創造了排行榜的兩個表,每一個看起來是這樣的:用低成本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。 –