事務transaction
acid特性 atomic consistency isolation durability
原子性
事務對資料庫的操作要不全部執行,要不全部不執行,通常事務開始時就將記錄這次修改,原始資料,修改後的資料都儲存在日誌當中,一旦事務中斷,就從日誌裡恢復原來的值 。
一致性
事務不能改變資料庫的一致性約束。比如資料庫中a的存款是50元,b的存款也是50元。現在事務要講a的存款轉50元給b。那麼轉賬結束後a和b的存款總和還是100元。如果事務沒有原子性,那麼已經完成a的存款減少50元後,b的存款尚未增加事務中斷。那麼資料庫中a和b存款的一致性就被破壞了
隔離性
如果多個事務併發執行,即使每個事務都能保證原子性和一致性,事務以交叉的方式併發執行,可能會破壞一致狀態,
事務1:a向b轉賬50元
事務2:讀取a和b的賬戶總額
存在事務1執行到a扣款50元是,事務2讀取了a+b的值,此時a+b的值少了50元,破壞了事務執行前資料庫的一致性
解決方法,採用讀提交的隔離級別事務1提交後,事務2才能讀取。
事務隔離有四個級別,讀未提交,讀提交,可重複讀和序列執行。
讀提交:不保證乙個事務內的多次讀取資料不被其他事物修改。
可重複讀:不保證乙個事務內的多次讀取資料項沒有其他事物新的插入。
序列化:最高的隔離級別,不存在併發,效能差。
永續性
事務執行的結果提交後持久化的寫入磁碟,即使系統奔潰也事務的操作也是永久的。
事務的特性ACID 隔離級別
1.事務特性acid 1.1 事務的四大特性 1 原子性 atomicity 事務包裝的一組sql,要麼都執行成功,要麼都失敗。這些操作是不可分割的。2 一致性 consistency 資料庫的資料狀態是一致的。3 永續性 durability 事務成功提交之後,對於資料庫的改變是永久的。哪怕資料庫...
事務的ACID特性與隔離級別
事務所提供的安全保證,通常由眾所周知的首字母縮略詞acid來描述,acid代表原子性 atomicity 一致性 consistency 隔離性 isolation 和永續性 durability 乙個事務是乙個不可分割的工作單位,其中的操作要麼都做,要麼都不做。特徵是能夠在錯誤時終止事務,丟棄該事...
事務的ACID特性
原子性 a 所謂的原子性就是說,在整個事務中的所有操作,要麼全部完成,要麼全部不做,沒有中間狀態。對於事務在執行中發生錯誤,所有的操作都會被回滾,整個事務就像從沒被執行過一樣。一致性 c 事務的執行必須保證系統的一致性,就拿轉賬為例,a有500元,b有300元,如果在乙個事務裡a成功轉給b50元,那...