我的要求是创建一个具有以下结构的表
(user_id,得分,等级)
user_id是一个整数标识符(也是主键)。
得分也是表示用户得分的整数值。
rank是得分> gt的用户数当前用户的得分。
此表的条目必须通过插入另一个表来进行管理。 只要在该表中发生与user_id相对应的条目, 我的表中的得分变量需要加1,并为每个user_id重新计算等级。
现在问题是排名更新非常昂贵,因为我需要将每个用户的得分与每个其他用户进行比较。
有没有办法可以创建一个有序的表格,根据分数对记录进行排序,每当更新得分时,该行会向上或向下移动?
底层数据库是MySQL。实现这个的最佳方法是什么?性能是这里最受关注的,并且得分变化非常频繁。