有贊商城網(wǎng)站建設(shè)企業(yè)網(wǎng)站怎么制作
該文章專注于面試,面試只要回答關(guān)鍵點即可,不需要對框架有非常深入的回答,如果你想應(yīng)付面試,是足夠了,抓住關(guān)鍵點
面試官:Innodb的事務(wù)實現(xiàn)原理
InnoDB是MySQL中一種常用的存儲引擎,它支持事務(wù)和行級鎖等特性。以下是InnoDB事務(wù)實現(xiàn)的簡要原理:
-
事務(wù)定義:
- 事務(wù)是指一組數(shù)據(jù)庫操作,這些操作要么全部成功執(zhí)行,要么全部回滾,不會只執(zhí)行其中一部分。
-
ACID屬性:
- InnoDB事務(wù)遵循ACID屬性,即原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)和持久性(Durability)。
- 原子性:事務(wù)中的所有操作要么全部成功,要么全部回滾。是使用 undo log來實現(xiàn)的,如果事務(wù)執(zhí)行過程中出錯或者用戶執(zhí)行了rollback,系統(tǒng)通過undo log日志返回事務(wù)開始的狀態(tài)。
- 一致性:事務(wù)執(zhí)行前后數(shù)據(jù)庫的狀態(tài)保持一致。通過回滾、恢復(fù),以及并發(fā)情況下的隔離性,從而實現(xiàn)一致性
- 隔離性:事務(wù)之間應(yīng)該相互隔離,互不干擾。通過鎖以及MVCC,使事務(wù)相互隔離開
- 持久性:一旦事務(wù)提交,對數(shù)據(jù)庫的更改應(yīng)該永久保存。使用 redo log來實現(xiàn),只要redo log日志持久化了?