在大型企业中,我应该在使用NHibernate时默认使用ReadCommitted或ReadUncommited事务隔离级别吗?
通过使用ReadCommitted隔离,我一直在面对一些变慢的SELECT(Query)语句的锁定。
答案 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事务隔离级别?
嗯,他们可以给出不同的结果。所以你实际上是在问:
如果速度更快,我可以使用不同的结果集吗?
答案取决于应用程序,只有您可以决定。但总的来说,客户,尤其是大型企业,对此并不十分宽容。