事務的四大特性,資料庫的隔離級別

2021-08-16 14:11:25 字數 734 閱讀 1710

acid  

原子性(atomic)事務的整體性,不可再分割性,要麼都成功,要麼都失敗

一致性(consistency )操作前後的結果、狀態一致,例如:互相轉賬的兩個賬戶,轉賬前後的總額不會發生改變

隔離性(isolation )併發的情況下,事務之間互不影響,互不干擾

永續性(durability)事務提交後,把資料持久到庫,之後即使突然異常關閉,也可以恢復之前的資料

資料庫的隔離級別主要是 防止事務的併發讀

有幾種併發讀,髒讀,幻讀,不可重複讀

髒讀:乙個事務讀取到另乙個事務未提交的資料

幻讀:連續兩次讀取同一張表的結果不一致,因為另乙個事務對錶進行了insert操作

不可重複讀:不可以重複讀取同一條記錄,重複讀取同一條記錄兩次可能結果不一致,因為另一事務對記錄進行了update操作

隔離級別:

序列化(serializable):所有的事務排隊執行,不會發生髒讀,幻讀,不可重複讀問題,效率最低

可重複讀(repeatable read):a事物開始讀取資料時會先加行級共享鎖,只到事物結束才釋放,不允許其他事物修改操作,可防止髒讀,不可重複讀問題,

讀已提交(read committed):讀取已經提交的事務,可以防止髒讀問題

讀未提交(read uncommitted):讀取沒有提交的資料,效率最高,但問題最多

mysql的預設隔離級別是可重複讀,oracle的預設隔離級別是讀已提交

資料庫事務 四大特性 隔離級別

以下引用自 原子性 atomicity 乙個事務要麼全部執行,要麼不執行 一致性 consistency 事務的執行並不改變資料庫中資料的一致性。例如,完整性約束了a b 10,乙個事務改變了a,那麼b也隨之改變 拿轉賬來說,假設使用者a和使用者b兩者的錢加起來一共是5000,那麼不管a和b之間如何...

資料庫事務四大特性 隔離級別

要熟悉事務之前我們先了解一下sql 概念 事務就是一組dml語句組成,這些語句在邏輯上存在關聯性,有要麼全部成功,要麼全部失敗。1 原子性 乙個事務是乙個不可分割的整體,為了保證事務的總體目標,事務必須具有原子性,即當資料修改時,要麼全部執行,要麼全部不執行。即,不允許事務部分的完成,避免了只執行這...

資料庫事務四大特性 隔離級別

以轉賬為例 事務是指滿足acid的一組操作,可以通過commit提交乙個事務,也可以使用rollback進行回滾。1.原子性 atomicity 事務被視為不可分割的最小單元,事務的所有操作要麼全部提交成功,要麼全部失敗回滾。2.一致性 consisitency 資料庫在事務執行前後都保持一致性狀態...