JDBC/MySQL查询和更新的交易
问题描述:
基本上是我们的用户配置算法并像JDBC/MySQL查询和更新的交易
-query新用户 - 更新数据库,以显示你有用户
我想知道如何锁定进程的其他实例在已经启动时执行“读取”步骤的能力。所以它比一个典型的事务更积极一些,因为它需要一个读取锁,当然不相关的进程应该能够读取而不受锁的影响。
答
您可以立即运行UPDATE查询以“窃取”当前服务器的所有非活动用户。
由于各个UPDATE查询总是原子的,这将确保每个用户只能被一个服务器抓取。
由于MySQL不允许您从UPDATE返回更新的行,因此您需要添加一个标识符列来告诉您哪些行被“盗取”。
每次供应用户时,选择一个GUID,在UPDATE语句中将标识符列设置为该GUID,然后选择行中仍然具有该GUID的行。
这实际上解决了这个问题 - 我只是因为我很想了解如何使用MySQL事务相关功能来解决这个问题而感到好奇。 – djechlin 2012-07-31 17:26:10