關於事務的四大特性你需要了解清楚

事務四大特性

爲什麼要用事務

​ 使用事務可以保證數據的一致性和完整性,不會出現數據錯誤或異常。比如銀行轉賬問題,A往B賬戶轉賬1000元,需要三步:1、A往賬戶B轉賬1000元 2、A賬戶餘額扣除1000元 3、B賬戶增加1000元。 整個轉賬業務必須經過這三步才成立,少哪一步都不行。假設只執行了前兩步,那麼整個業務就失敗(出現數據不一致錯誤/異常),因而使用一個事務將這三步操作進行控制,可保證數據的一致性和完整性。

四大特性

​ ACID(Atomicity:原子性;Consistency:一致性;Isolation:隔離性;Durability:持久性)

原子性: 事務包含要執行的所有操作要麼全部成功,要麼全部失敗,進行回滾(回滾就是將所有操作還原)。因此事務的操作若成功了就一定對數據庫做了改變,若操作失敗則不能對數據庫有任何影響。

一致性: 指的是事務執行操作的前後,必須保證數據的一致。如同上邊轉賬例子,A向B轉賬1000元,A賬戶減少了1000,B賬戶增加了1000。但是A和B的總數在執行完事務操作前後數據之和都一定是相等的,這就是一致性。

隔離性: 隔離性是爲了保證每一個用戶在開啓並使用事務時,不被其他事務操作所幹擾,保持獨立的工作不受外界干擾,主要就是防止多個用戶對數據庫同一張表的訪問操作。例如:對於任意兩個併發的事務T1和T2,在事務T1看來,T2要麼在T1開始之前就已經結束,要麼在T1結束之後纔開始,這樣每個事務都感覺不到有其他事務在併發地執行。

持久性: 比如一個事務一旦提交以後,那麼對數據庫表的操作改變就是永久的(比如刪除了表中一條記錄就永久刪除了),即便是數據庫系統遇到故障異常情況事務操作仍然會產生改變。

例如我們在使用JDBC操作數據庫時,在提交事務方法後,提示用戶事務操作完成,當我們程序執行完成直到看到提示後,就可以認定事務以及正確提交,即使這時候數據庫出現了問題,也必須要將我們的事務完全執行完成,否則就會造成我們看到提示事務處理完畢,但是數據庫因爲故障而沒有執行事務的重大錯誤。

img

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章