2011-04-03 38 views

回答

7

那么,如果你使用的是SqlServer,并且ReadCommitted超时/锁定有问题,这很容易解释。您可能只需要运行:

ALTER DATABASE your_db SET SINGLE_USER WITH ROLLBACK IMMEDIATE ; 
ALTER DATABASE your_db SET READ_COMMITTED_SNAPSHOT ON; 
ALTER DATABASE your_db SET MULTI_USER; 

尝试此操作,然后重新测试您的readcommitted方法。我会坚持下去。

+0

我讨厌在ReadCommitted事务期间锁定相同的问题。我的问题是,为什么这个解决了它?它应该从一开始就工作吗?不管怎么说,还是要谢谢你! – jinxen 2012-12-12 10:35:32

6

问题的核心:

我应该用READCOMMITTED或ReadUncommited事务隔离级别?

那么,他们可以给出不同的结果。所以你实际上是问:

当更快时可以使用不同的结果集吗?

答案取决于应用程序,只有你可以决定。但总的来说,客户,特别是大型企业,对此并不是很宽容。