mysql的InooDB存儲引擎是如何實現事務的四個特性ACID的

原子性

undolog記錄反向操作

  • 對於每一個insert,undolog記錄一個delete
  • 對於每一個delete,undolog記錄一個insert
  • 對於每一個update,undolog記錄一個相反的update

隔離性

四種隔離模式

  • 讀未提交:不檢查版本號,全讀
  • 讀已提交:不檢查版本號,但檢查是否commit
  • 可重複讀:只讀版本號小於等於當前版本號的記錄
  • 串行:事務加鎖,其他事務等待

持久性

innodb_flush_log_at_trx_commi設置爲1,事務提交記錄redolog,定期fsync刷盤,如果宕機重啓時通過undolog恢復

一致性

undolog+redolog ,保證所有操作同時提交和回滾。

 

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