事務的四種隔離級別:
讀未提交:會出現髒讀,即在事務a可以讀到事務b未提交的髒資料。
讀已提交:事務a只能讀到事務b提交後的資料,可以避免髒讀,但是會出現不可重複讀的情景。即:事務a在兩次讀取同一條資料的過程中,事務b對該條資料進行了update,導致事務a在事務b提交資料前後兩次讀取的資料不一樣,該現象稱之為:不可重複讀。
可重複讀:事務a在讀取資料之前,不允許其他的事務對其進行修改操作。應該避免了兩次讀取資料不一致的情況,但是無法避免幻讀:即在a資料讀取的過程中,沒有修改,但是插入了新的資料,新增或者刪除了資料。這種情況稱之為幻讀。
可序列化:可避免幻讀。在該級別下,事務序列化順序執行,可以避免髒讀、不可重複讀與幻讀。但是這種事務隔離級別效率低下,比較耗資料庫效能,一般不使用。
事務隔離級別
1 serializable 最嚴格的spring事務隔離級別,事務序列執行,資源消耗最大 3 read committed 大多數主流資料庫的預設spring事務隔離等級,保證了乙個事務不會讀到另乙個並行事務已修改但未提交的資料,避免了 髒讀取 該級別適用於大多數系統。4 read uncommi...
事務隔離級別
四種隔離級別 隔離級別 髒 讀不可重複讀取 幻 像讀操作未提交 read uncommitted 是是 是讀操作已提交 read committed 否是 是可重複讀 repeatable read 否否 是快照否否 否可序列讀 serializable 否否 否 sql server 還支援使用行...
事務隔離級別
需要防止的現象和事務隔離級別 ansi iso sql 標準 sql92 定義了四種事務隔離級別 transaction isolation level 這四種隔離級別所能提供的事務處理能力各不相同。這些事務隔離級別是針對三種現象定義的,在併發事務執行時,需要阻止這三種現象 中的一種或多種發生。三種...