We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent b436178 commit d8f5b96Copy full SHA for d8f5b96
transaction.adoc
@@ -32,6 +32,13 @@ Repeatable Read(可重复读) 是 MySQL 默认事务隔离级别。
32
33
=== 常见错误
34
35
+. *脏写 Dirty Write* -- 如果一个事务**修改**了另一个未提交事故**修改过**的数据,就意味着发生了脏写现象。可以把脏写现象简称为 P0。
36
+. *脏读 Dirty Read* -- 如果一个事务**读到**了另一个未提交事务**修改过**的数据,就意味着发生了脏读现象。可以额把脏读现象简称为 P1。
37
+. *不可重复读 NonRepeatable Read* -- 如果一个事务**修改**了另外一个未提交事务**读取**的数据,就意味着发生了不可重复读现象,或者叫模糊读 Fuzzy Read 现象。可以把不可重复读现象简称为 P2。
38
+. *幻读 Phantom* -- 如果一个事务先根据某些搜索条件查询出一些记录,在该事务**未提交时**,另一个事务**写入**了一些**符合那些搜索条件**的记录(CUD 任意一种),就意味着发生了幻读现象。可以把幻读现象简称为 P3。
39
+
40
+TIP: 这里采用 《A Critique of ANSI SQL Isolation Levels》 论文中的定义。
41
42
==== Phantom Read(幻读)
43
44
B 事务读取了两次数据,在这两次的读取过程中A事务添加了数据,B 事务的这两次读取出来的集合不一样。幻读产生的流程如下:
0 commit comments