我在 Java 应用程序中使用了 MySQL 。由于我对MySQL有点陌生,所以我想知道一些事情。
我有2张桌子,Players和PausedCooldowns。
表Players具有most_uuid和minimum_uuid作为主键。 表PausedCooldowns具有most_uuid,lessest_uuid作为主键和外键。
显然,PausedCooldowns中的most_uuid和minimum_uuid不是唯一的,因为玩家可以拥有1次以上的冷却时间。
当玩家加入时,我必须注册他及其价值。我正在为此做的是这个请求:
SELECT * FROM Players
INNER JOIN PausedCooldowns
ON Players.most_uuid = PausedCooldowns.most_uuid
AND Players.least_uuid = PausedCooldowns.least_uuid
WHERE most_uuid = ? AND least_uuid = ?
如果我没记错的话,我的ResultSet将具有许多值(如果玩家的冷却时间超过1次),我将不得不使用while循环对其进行迭代。
我的决赛桌通常看起来像这样: Joined table http://prntscr.com/nf1a7z
现在让我们来解决问题:
这意味着在每次迭代中,我都必须检查播放器是否已在插件的缓存中注册。而且我认为这不是最有效的方法。
您知道执行此操作的其他方法吗?还是最好的选择?知道还有很多其他表我也必须加入,例如Notes(包含有关玩家的信息)表,Reports(包含其他玩家的报告)表等。
感谢您的任何帮助,对于本篇文章的冗长,深表歉意。我想提供更多信息