1

我刚刚禁用了我的一个域对象上的版本列。它被许多线程访问,并导致许多过时状态错误。使用此对象最多的方法似乎突然变慢了。我没有做任何测试来验证这一点,但我只是想把它扔在那里,看看禁用版本列是否会影响性能。

4

2 回答 2

3

禁用它不太可能影响性能;如果有的话,它应该让事情变得稍微快一些(但还不足以让它成为做或不做这个改变的理由)。

但是由于过时状态错误而禁用该功能可能不是正确的方法。如果您不使用显式锁定(这可能非常不高效),并发更新将导致数据丢失,因此您只是在用一个明显的修复来换取不太明显但更严重的错误。

于 2012-08-13T20:57:42.893 回答
0

There's a very good blog post explaining in details how pessimistic/optimistic locking works and why removing optimistic locking doesn't affect the performance of your app. But also it doesn't make performance significantly worse or causes deadlock. It usually is the way to go.

于 2012-08-13T21:16:39.013 回答