天天看點

輕松掌握mysql事務的四大特性ACID及實作原理

作者:輕松入門網

1、介紹

輕松掌握mysql事務的四大特性ACID及實作原理

要實作這四大特性,我們先了解下mysql中的緩沖池和資料頁

輕松掌握mysql事務的四大特性ACID及實作原理

2、保證原子性和一緻性

1、通過undo log保證資料的原子性和一緻性

undo log保證了事務的原子性和一緻性。

輕松掌握mysql事務的四大特性ACID及實作原理

3、保證隔離性

1、并發事務産生時容易産生的隔離性問題

  • 髒讀
輕松掌握mysql事務的四大特性ACID及實作原理
輕松掌握mysql事務的四大特性ACID及實作原理
  • 不可重複讀
輕松掌握mysql事務的四大特性ACID及實作原理
輕松掌握mysql事務的四大特性ACID及實作原理
  • 幻讀
輕松掌握mysql事務的四大特性ACID及實作原理
輕松掌握mysql事務的四大特性ACID及實作原理

2、配置隔離級别解決并發事務問題

配置隔離級别對事務進行隔離

輕松掌握mysql事務的四大特性ACID及實作原理

通常采用預設的可重複讀即可。串行化雖然所有問題都解決了,但是性能過低。

3、隔離級别實作原理

通過版本控制MVCC和排他鎖保證資料隔離性

輕松掌握mysql事務的四大特性ACID及實作原理
輕松掌握mysql事務的四大特性ACID及實作原理
  • 隐式字段
輕松掌握mysql事務的四大特性ACID及實作原理
  • undo log日志
輕松掌握mysql事務的四大特性ACID及實作原理
輕松掌握mysql事務的四大特性ACID及實作原理
  • readview
輕松掌握mysql事務的四大特性ACID及實作原理
輕松掌握mysql事務的四大特性ACID及實作原理
輕松掌握mysql事務的四大特性ACID及實作原理
輕松掌握mysql事務的四大特性ACID及實作原理
輕松掌握mysql事務的四大特性ACID及實作原理

4、保證持久性

1、通過redo log保證資料持久性

當緩沖池中的資料已一定頻率重新整理到磁盤時,突然當機了,這時需要借助redo log來進行資料恢複。保證了事務的持久性。

輕松掌握mysql事務的四大特性ACID及實作原理

繼續閱讀