我需要引用数据库中的一组列并更新这些列。由于这组列在多个并行事务之间是公共的/共享的,如何在不影响数据完整性和一致性的情况下获得良好的性能。为了更清楚起见,我有一个很长的事务,其中,我做了一些预处理并计算了某些值。然后我将此值与限制值进行比较。限制是common/ shared列,如果要继续处理事务,则必须更新该列。应用程序将有多个用户,这些用户将尝试执行类似的操作,并必须与相同的“限制”进行比较,然后继续进行操作。
发布于 2013-03-16 19:10:30
如果我没理解错的话,这个限制就像是一种信号。访问信号量不应该是正常事务的一部分。您希望立即增加限制,如果失败,则希望中止事务。
实现这一点的一种方法是将限制增加作为子事务运行。如果您使用事务划分,则可以使用TransactionAttributeType.html#REQUIRES_NEW。
如果您想要更详细的答案,请稍微澄清您的问题。
https://stackoverflow.com/questions/15448470
复制相似问题