簡短背景:我們剛剛開始使用Hibernate將ERP系統遷移/重新實現爲Java,目標是使用該系統的併發用戶數爲50-100個用戶。我們使用MS SQL Server作爲數據庫服務器,這對於這種負載來說已經足夠了。如果有的話,ERP的最佳默認事務隔離級別是什麼?
現在,舊系統根本不使用任何交易,並依靠關鍵部分(例如庫存更改)設置手動鎖定(使用標誌)並釋放它們。這就像手動事務管理。但是有時候數據不一致問題。在新系統中,我們希望使用交易來消除這些問題。
現在的問題:這將是一個很好的/合理默認事務隔離,給出約85%的OLTP和15%OLAP的使用水平,使用一個ERP系統?或者我應該總是根據每個任務決定使用哪個交易級別?
另外要提醒的四個事務隔離級別:讀取未提交,提交讀,可重複讀取,SERIALIZABLE
SQL Server的默認值可能是READ COMMITTED,但我相信ADO.net的默認值是SERIALIZABLE,在這種情況下,如果他使用.net,則更重要。 – 2008-12-12 22:08:14
@Robert這是不正確的。默認值是SQL Server的默認值。例如,當您更改SqlTransaction上的隔離級別時,它會在服務器上執行SET TRANSACTION ISOLATION LEVEL XXXX。 – chadmyers 2008-12-14 01:11:50