[英]What is the “best practice” for choosing character encoding with PHP/MySQL applications?
[英]what is the best practice leaderboard with php, mysql, memcached?
最近,我開發了手機游戲(LAMP + memcached)。
游戲中有玩家的得分表。 該表具有member_id
, name
, score
列。
我想向我們的用戶顯示排行榜(全球排名)。
只需查詢SELECT * FROM score ORDER BY score DESC
,然后顯示結果集即可。
但我認為這不是好方法。 如果用戶達到2000萬,這個查詢似乎很糟糕。 在這種情況下,最佳做法是什么? 你能給我一些建議嗎?
以及如何檢查特定用戶的等級? 我想顯示每個用戶的排名。
好吧,您不想在排行榜上顯示數百萬用戶嗎?
SELECT * FROM score ORDER BY score DESC LIMIT 10
會選擇前十名
此外,如果要顯示用戶排名,例如個人資料頁面,則應這樣做:
SELECT COUNT(*) + 1 AS rank FROM score WHERE score > (SELECT score FROM score WHERE member_id = :member_id);
您只需將當前用戶的member_id添加到最后一個查詢中,它將對他前面的所有行進行計數,並向其添加1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.