【发布时间】:2016-05-03 09:35:25
【问题描述】:
我对 Java 还很陌生,我需要一些帮助。以下问题是否有(有效)解决方案:
我有一个机器人,玩家可以在其中“滚动”来获得金币。现在,每次滚动后,数据库都会根据用户拥有的最新硬币数量进行编辑……但这会对性能造成巨大影响。
我需要什么:
User A rolls and wins 10 coins
User B rolls and wins 20 coins
User A rolls and loses 20 coins
User C rolls and wins 30 coins
User A rolls and wins 10 coins
--1 minute has ended--
--update database--
我现在拥有的:
User A rolls and wins 10 coins
--update database--
User B rolls and wins 20 coins
--update database--
User A rolls and loses 20 coins
--update database--
User C rolls and wins 30 coins
--update database--
User A rolls and wins 10 coins
--update database--
有存储临时用户数据的好方法吗?我正在考虑每次新用户滚动时使用用户名创建一个新字符串,并将一个 int 与更新的值链接到它,然后每分钟将它们传递到数据库中。
但我觉得必须有很多更好的解决方案,我就是想不出任何东西..
如果有人可以指导我一个好的方法或给我一个例子?将不胜感激!提前致谢!
我希望我的问题不是太笨拙..
【问题讨论】:
-
数据库很快,你可能在做一些低效的事情,比如每次需要更新时都创建一个新连接。
-
@Kayaman 这就是我正在做的事情!我应该只在 main(){} 中打开一次连接还是?
-
是的,基本上,只要玩家在玩,您就希望保持连接打开。通过这样做,您可以创建播放会话,在会话开始时打开连接并在结束时关闭它。
-
使用 StringBuffer 或 StringReader。您可以将值附加到它。
-
是的,请确保您只建立一次连接,如下面的答案所示。
标签: java database sql-update updates