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