2012-08-13 45 views
1

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

回答

3

禁用它不太可能会影响性能;如果有的话,它应该使事情稍微快一些(但不够,它应该永远是一个理由去做,也不要做这个改变)。

但由于陈旧的状态错误而禁用该功能可能不是正确的做法。如果您不使用显式锁定(可能非常不高效),并发更新将导致数据丢失,因此您只是针对不太明显但更严重的错误进行明显修复。

+0

感谢伯特 - 这并发MOD的东西一直是一个绝对的噩梦。我收到了有关解决问题的最佳方法的复杂答案,并最终对此感到沮丧。 – RyanLynch 2012-08-13 21:03:06

+0

除乐观锁定表中禁用版本外,是否有适当的解决方案? – AtulJain 2016-02-03 06:08:02

0

有一个非常好的博客post详细解释了悲观/乐观锁定的工作原理以及为什么删除乐观锁定不会影响应用程序的性能。但它也不会使性能显着变差或导致死锁。它通常是要走的路。