天天看點

Mysql事務的特性和應用場景介紹

Mysql事務的特性

事務是作為一個邏輯單元執行的一系列操作,一個邏輯工作單元必須有四個屬性,稱為 ACID(原子性、一緻性、隔離性和持久性)屬性,隻有這樣才能成為一個事務:

原子性

事務必須是原子工作單元;對于其資料修改,要麼全都執行,要麼全都不執行。

一緻性

事務在完成時,必須使所有的資料都保持一緻狀态。在相關資料庫中,所有規則都必須應用于事務的修改,以保持所有資料的完整性。

事務結束時,所有的内部資料結構(如 B 樹索引或雙向連結清單)都必須是正确的。

隔離性

由并發事務所作的修改必須與任何其它并發事務所作的修改隔離。事務檢視資料時資料所處的狀态,要麼是另一并發事務修改它之前的狀态,

要麼是另一事務修改它之後的狀态,事務不會檢視中間狀态的資料。這稱為可串行性,因為它能夠重新裝載起始資料,

并且重播一系列事務,以使資料結束時的狀态與原始事務執行的狀态相同。

持久性

事務完成之後,它對于系統的影響是永久性的。該修改即使出現系統故障也将一直保持。

begin 開始一個事務

rollback事務復原

commit事務确認

Mysql事務的應運場景