java - 游戏排行实现?
巴扎黑
巴扎黑 2017-04-17 17:52:39
0
4
1148

实现一个排行榜显示当前我的排行名次,还有我前5名和我后5名;
数据量几十万,用mysql,按表里一个score字段排序,怎么sql才没有效率问题?

巴扎黑
巴扎黑

全部回覆(4)
小葫芦

資料量幾十萬,用mysql,按表裡一個score欄位排序…查一次吐一次,光是磁碟IO就夠你受的了,根本輪不著再考慮SQL查詢效率。
冷資料倒是不用考慮效能問題,我猜你這是熱資料。別用mysql查了,換redis把,一個SortedSet輕鬆搞定。

洪涛

這樣子的話,在sql層面上已經解決不了效率問題了吧

伊谢尔伦

導出數據,用程式語言實現快速排序演算法,不能指望SQL連各種各樣的排序演算法都高效實現好,拿來就用。

伊谢尔伦

這個話題有點意思,不過你的問題夠全嗎?因為資料量幾十萬,如果只以分數排序,那絕大部分人可能分數一樣啊,即使分數高達幾百萬,可能前5名,後5名都是一樣的分數。

例如現在騰訊系的那些遊戲,都是在朋友圈裡排名的,這就是另外一個問題了,很有技術含量啊

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板