Groovy设置隔离级别 - 锁定UPDATE sql transcation

时间:2015-12-03 12:25:55

标签: sql sql-server groovy locking isolation-level

是否可以在纯Groovy中锁定UPDATE事务以进行写入(可以自由阅读)?

DB背后是MSSQL。

我看到有很多方法可以用Java或者程序级别来完成,但我对groovy方式很感兴趣。

1 个答案:

答案 0 :(得分:1)

可能使用乐观的事务隔离级别:READ COMMITTED SNAPSHOT或SNAPSHOT。他们使用行版本控制而不是共享锁,因此当更新行(并使用独占锁定锁定)时,其内容将复制到tempdb中的版本存储中,因此其他进程不会等待更新完成,而只是从版本存储中读取以前的版本或行。

以下是有关快照隔离级别的更多信息:https://msdn.microsoft.com/en-us/library/tcbchxcb(v=vs.110).aspx

由于它们都需要tempdb中的Version Store,因此无法在连接中指定它们,而不是需要ALTER DATABASE:https://technet.microsoft.com/en-us/library/ms175095(v=sql.105).aspx