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

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

巴扎黑
巴扎黑

Antworte allen(4)
小葫芦

数据量几十万,用mysql,按表里一个score字段排序……查一次吐一次,光是磁盘IO就够你受的了,根本轮不着再考虑SQL查询效率。
冷数据倒是不用考虑性能问题,我猜你这是热数据。别用mysql查了,换redis把,一个SortedSet轻松搞定。

洪涛

这样子的话,在sql层面上已经解决不了效率问题了吧

伊谢尔伦

导出数据,用编程语言实现快速排序算法,不能指望SQL连各种各样的排序算法都高效实现好,拿来就用。

伊谢尔伦

这个话题有点意思,不过你的问题够全吗?因为数据量几十万,如果只以分数排序,那绝大部分人可能分数一样啊,即使分数高达几百万,可能前5名,后5名都是一样的分数。

比如现在腾讯系的那些游戏,都是在朋友圈子里排名的,这就是另外一个问题了,很有技术含量啊

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage