Spring事務的隔離級別

2021-06-03 05:20:39 字數 746 閱讀 7302

在spring中定義了5中不同的事務隔離級別:

1. isolation_default(一般情況下使用這種配置既可) ;

這是乙個platfromtransactionmanager預設的隔離級別,使用資料庫預設的事務隔離級別。

2. isolation_read_uncommitted 4 p" l. i' f; k1 1 r8 ~% b, l; t

5. isolation_serializable

這是花費最高代價但是最可靠的事務隔離級別。事務被處理為順序執行。除了防止髒讀,不可重複讀外,還避免了幻讀。 % c0 @8 e& g" x1 x/ p3 f; h1 q

什麼是幻讀?(新增新記錄引起) 9 d! d% j. |9 w9 n+ ~

例如:

a目前工資為5000的員工有10人,事務a讀取所有工資為5000的人數為10人。此時,事務b插入一條工資也為5000的記錄。這是,事務a再次讀取工資為5000的員工,記錄為11人。此時產生了幻讀。

大部分資料庫預設的事物隔離級別都會出現這種狀況,此種事物隔離級別將帶來表級鎖)

_! o3 w6 m/ l

說明 :oracle資料庫預設的事物隔離級別已經保證了避免髒讀和不可重複讀。但可能會幻讀,避免幻讀需要加表級鎖,oracle預設行級鎖。在基於spring的事物配置中一定要慎重使用isolation_serializable的事物隔離級別。這種配置會使用表級鎖,對效能影響巨大。一般沒有特殊需要的話,配置為使用資料庫預設的事物隔離級別便可。

spring事務隔離級別

在spring中定義了5中不同的事務隔離級別 1.isolation default 一般情況下使用這種配置既可 這是乙個platfromtransactionmanager預設的隔離級別,使用資料庫預設的事務隔離級別。2.isolation read uncommitted 4 p l.i f k...

Spring 事務隔離級別

資料庫事務的隔離級別有4種,由低到高分為為read uncomitted,read comitted,repeatable read serializable,而且,在事務的併發操作中可能會出現髒讀,不可重複度,虛讀 幻讀 髒讀 read uncomitted 什麼都防不住 乙個事務讀到另外乙個事務...

Spring事務隔離級別

事務操作可能出現的問題 更新丟失 lost update 當系統允許兩個事務同時更新同一資料時,發生更新丟失。髒讀 dirty read 當乙個事務讀取另乙個事務尚未提交的修改時,產生髒讀。非重複讀 nonrepeatable read 第一次讀 得到乙個結果 再讀,換了乙個結果 幻像 phanto...