Mysql InnoDB 事務簡單理解

2021-08-15 05:47:16 字數 659 閱讀 3074

1. 事務基本特性: acid

a 由undo 來實現的

i 由鎖實現

d 由redo實現

c 由aid共同保證

2. undo 實現了 事務的回滾 以及 mvcc

事務的回滾: 記錄下事務期間的所有update/delete/insert操作的前後value,當需要rollback時會做乙個相反的操作。

mvcc:undo恰好記錄下了事務期間的快照資訊,當update/delete/insert占用某行記錄需要被讀取時,可以根據事務級別讀取undo中的快照資訊( read_committed模式下讀取的是最新快照;repeatable read模式下讀取的是事務開始點的快照)。

3. 鎖 實現了 事務操作的隔離

update/insert/delete/select ...for upadate 操作的同一行record,會通過鎖排序處理

select與 update/delete 操作的同一行record,會通過mvcc來實現互相不衝突。簡單來說就是select的時候發現某行處於加鎖狀態,會讀取該行的undo資訊讀取當前事物級別匹配的快照。

4. redo 實現了事務的永續性

簡單來說就是redo日誌檔案會儲存下當前的所有操作,當出現系統崩潰,系統重啟時會以當前redo日誌檔案中checkpoint為起點開始恢復。

MySQL InnoDB事務模型

事務的acid特性 原子性 一致性 隔離性 永續性。這部分不多說了,任何一本講資料庫理論的書籍裡邊都會有講。mysql innodb通過鎖來實現事務的一致性和隔離性,共實現了四種事務隔離級別 read uncommitted讀取未提交 某個session中的事務可以看到其他session的事務中尚未...

Mysql InnoDB事務隔離級別

隔離級別 髒讀 dirty read 不可重複讀 nonrepeatable read 幻讀 phantom read 未提交讀 read uncommitted 可能可能 可能已提交讀 read committed 不可能可能 可能可重複讀 repeatable read 不可能不可能 可能可序列...

MySQL Innodb事務ACID原理

資料庫事務的四大特性有原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 durability 根據定義,原子性是指乙個事務是乙個不可分割的工作單位,其中的操作要麼都做,要麼都不做。即要麼轉賬成功,要麼轉賬失敗,是不存在中間的狀態!根據定義,隔離性是指多個...