Skip to content

Commit f62b6d4

Browse files
authored
Update 事务.md
1 parent 387698e commit f62b6d4

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

database/MySQL/事务.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,20 @@
1212
* ROLLBACK TO identifier 把事务回滚到保存点
1313
* SET TRANSACTION 设置事务隔离级别,innodb 默认的事务隔离级别有
1414
READ, UNCOMMITED, READ COMMITED, REPEATABLE READ, SERIALIZABLE
15+
16+
### 事务实现原理
17+
原子性
18+
一个事务必须被视为不可分割的最小工作单位,一个事务中的所有操作要么全部成功提交,要么全部失败回滚,对于一个事务来说不可能只执行其中的部分操作,这就是事务的原子性。
19+
使用 undolog 实现
20+
每条数据变更(insert/update/delete)操作都伴随一条undo log的生成,并且回滚日志必须先于数据持久化到磁盘上,事务中某条语句执行异常时,可根据undolog执行回滚操作
21+
22+
持久性
23+
事务一旦提交,其所作做的修改会永久保存到数据库中,此时即使系统崩溃修改的数据也不会丢失。
24+
使用 redolog 实现
25+
26+
隔离性
27+
mvcc
28+
29+
一致性
30+
通过其他三种特性保证
31+

0 commit comments

Comments
 (0)