Java 爪哇及;MySQL-排名

Java 爪哇及;MySQL-排名,java,mysql,Java,Mysql,我正在做一个游戏,我需要一个排名系统。我已经用MySQL保存了所有的数据,比如死亡、死亡、胜利、无辜射击等等。目前我还不知道如何给每个人排名。我想通过MySQL进行更新,但它们会很快更新。我在想,当游戏开始时,我可以在HashMap中加载所有等级,但这将非常无效,因为有数千名玩家。我也想用大部分的统计数据来解决这个问题。有人能告诉我怎么做吗?谢谢 一种方法是使用mysql事件触发存储过程。存储过程将执行排名并将排名存储在数据库中。然后,您只需将事件触发时间设置为您想要的任何时间,比如10分钟 m

我正在做一个游戏,我需要一个排名系统。我已经用MySQL保存了所有的数据,比如死亡、死亡、胜利、无辜射击等等。目前我还不知道如何给每个人排名。我想通过MySQL进行更新,但它们会很快更新。我在想,当游戏开始时,我可以在HashMap中加载所有等级,但这将非常无效,因为有数千名玩家。我也想用大部分的统计数据来解决这个问题。有人能告诉我怎么做吗?谢谢

一种方法是使用mysql事件触发存储过程。存储过程将执行排名并将排名存储在数据库中。然后,您只需将事件触发时间设置为您想要的任何时间,比如10分钟

mysql事件:

然后,您将设置一个存储过程来生成排名,并为您的玩家设置排名:

一个例子是:

CREATE PROCEDURE simpleproc (OUT param1 INT)
    BEGIN
      SELECT COUNT(*) INTO param1 FROM t;
    END

您可以根据需要使过程变得复杂。

当用户查询排名时,为什么不实时计算排名并将其显示给用户?将有很多游戏同时进行,因此我需要使用MySQL,这样就不会有人获得相同的排名。为什么不使用时间戳来说明这一点“位于的级别为:。”这将消除相同用户具有不同级别的问题。
CREATE PROCEDURE simpleproc (OUT param1 INT)
    BEGIN
      SELECT COUNT(*) INTO param1 FROM t;
    END