1. 程式人生 > 其它 >事務ACID原則,髒讀,不可重複,幻讀

事務ACID原則,髒讀,不可重複,幻讀

一、事務


 

要麼全部成功,要麼全部失敗

將一組sql語句放在一個批次中去執行

ACID原則:

原子性(Atomicity)   

針對同一個事務,要麼都完成,要麼都不完成

 

 結論:這兩個階段必須都成功,或都失敗,不能只完成一個階段

一致性(Consistency)

針對事務操作前和操作後的狀態資料一致性

 

 結論:最終的結果是一致性的表現

隔離性(Isolation)  

針對多個使用者同時操作,排除其他事務對本次事務的影響

 

結論:互相隔離

永續性(durability)

 

結論:事務一旦提交(被持久化到資料庫),不可逆轉


以下都是隔離所導致的問題

髒讀

指一個事務讀取

了另一個事務未提交的資料

 

 所以一般情況,要先讓A-B的事務提交後,再進行c-b

不可重複讀

在一個事務內讀取表中的某一行資料,多次讀取結果不同(不一定是錯誤,場合不同)

虛讀(幻讀)

 指在一個事務內讀取別人的事務插入的資料,導致前後讀取不一致

 


 

若有侵權,請聯絡,謝謝