0

我需要引用数据库中的一组列并更新这些列。由于这组列在多个并行事务中是通用的/共享的,我如何在不影响数据完整性和一致性的情况下获得良好的性能。为了更清楚,我有一个很长的事务,其中,我做了一些预处理并计算某些值。然后我将此值与限制进行比较。限制是公共/共享列,如果我要进一步处理事务,我必须更新它。该应用程序将有多个用户,他们将尝试执行类似的操作,并且必须与相同的“限制”进行比较并继续进行。

4

1 回答 1

2

如果我理解正确,限制就像一种信号量。访问信号量不应该是正常事务的一部分。您想立即增加限制,如果失败,您想中止交易。

实现这一点的一种方法是将限制增加作为子事务运行。如果您使用事务划界,则可以使用TransactionAttributeType.html#REQUIRES_NEW

如果您想要更详细的答案,请稍微澄清一下您的问题。

于 2013-03-16T11:10:29.513 回答