NHibernate,我应该使用ReadCommitted还是ReadUncommited事务隔离级别?

时间:2011-04-03 16:20:08

标签: c# .net nhibernate transactions

在大型企业中,我应该在使用NHibernate时默认使用ReadCommitted或ReadUncommited事务隔离级别吗?

通过使用ReadCommitted隔离,我一直在面对一些变慢的SELECT(Query)语句的锁定。

2 个答案:

答案 0 :(得分:8)

好吧,如果您正在使用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方法。我会坚持下去。

答案 1 :(得分:5)

问题的核心:

  

我应该使用ReadCommitted还是ReadUncommited事务隔离级别?

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

  

如果速度更快,我可以使用不同的结果集吗?

答案取决于应用程序,只有您可以决定。但总的来说,客户,尤其是大型企业,对此并不十分宽容。