1、原子性atomicity,在事務中,所有的操作,要麼全部成功,要麼全部失敗回滾,不對資料庫造成任何影響。
防止髒讀(在乙個事務還沒有提交的時候,另乙個事務進行讀取的話,有可能會造成髒讀)
2、一致性consistency,在事務中,不管如何操作,最後的資料不能有不一致的地方。總和前後要一致。
防止不可重複讀(乙個事務在讀取第一次資料之後,另乙個執行緒開啟事務,並作了更改,第乙個事務再次讀取就會出現不一致,就會造成第乙個事務前後的資料不同)
3、隔離性isolation,只要乙個事務開啟了,另外乙個事務就必須等待這個事務結束之後才能夠執行。
防止幻影讀(第乙個事務讀取了資料之後,第二個執行緒開啟了新的事務,並且更改了資料,第乙個事務再更改資料之後提交,就會發現第二個執行緒已經有乙個已經更改的資料,會造成第乙個執行緒再提交的話會有問題)
4、永續性durability,只要事務一經提交,就直接改動了資料庫,這次操作永久生效,不會出現資料沒有改變的現象。
所以就銜生出了四種隔離級別,即:
① serializable (序列化):可避免髒讀、不可重複讀、幻讀的發生。
② repeatable read (可重複讀):可避免髒讀、不可重複讀的發生。
③ read committed (讀已提交):可避免髒讀的發生。
④ read uncommitted (讀未提交):最低級別,任何情況都無法保證。
事務四種隔離級別
1.讀取未提交 乙個事務可以讀取另乙個未提交的事務的資料。髒讀 2.讀取已提交 事務a多次讀取同一資料,事務b在事務a多次讀取的過程中,對資料做了更新並提交,導致事務a多次讀取同一資料時,結果不一致。不可重複度 對應update操作 3.可重複讀 開始讀取資料時 事務開啟時 不在允許修改操作。可能會...
MySQL的四種事務隔離
sql標準定義了4類隔離級別,包括了一些具體規則,用來限定事務內外的哪些改變是可見的,哪些是不可見的。低階別的隔離級一般支援更高的併發處理,並擁有更低的系統開銷。read uncommitted 讀取未提交內容 在該隔離級別,所有事務都可以看到其他未提交事務的執行結果。本隔離級別很少用於實際應用,因...
事務的四種特性(ACID)
1 原子性 atomicity 乙個事務必須被視為乙個不可分割的最小工作單元,整個事務中的所有操作要麼全部提交成功,要麼全部失敗回滾,對於乙個事務來說,不可以只執行其中的一部分操作。2 一致性 consistency 資料庫總是從乙個一致性的狀態轉到另乙個一致性的狀態。拿轉賬來說,假設使用者a和使用...