File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change @@ -32,6 +32,15 @@ Repeatable Read(可重复读) 是 MySQL 默认事务隔离级别。
3232
3333=== 常见错误
3434
35+ . *脏写 Dirty Write* -- 如果一个事务**修改**了另一个未提交事故**修改过**的数据,就意味着发生了脏写现象。可以把脏写现象简称为 P0。
36+ . *脏读 Dirty Read* -- 如果一个事务**读到**了另一个未提交事务**修改过**的数据,就意味着发生了脏读现象。可以额把脏读现象简称为 P1。
37+ . *不可重复读 NonRepeatable Read* -- 如果一个事务**修改**了另外一个未提交事务**读取**的数据,就意味着发生了不可重复读现象,或者叫模糊读 Fuzzy Read 现象。可以把不可重复读现象简称为 P2。
38+ . *幻读 Phantom* -- 如果一个事务先根据某些搜索条件查询出一些记录,在该事务**未提交时**,另一个事务**写入**了一些**符合那些搜索条件**的记录(CUD 任意一种),就意味着发生了幻读现象。可以把幻读现象简称为 P3。
39+
40+ TIP: 这里采用 https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-95-51.pdf[《A Critique of ANSI SQL Isolation Levels》^] 论文中的定义。
41+
42+
43+
3544==== Phantom Read(幻读)
3645
3746B 事务读取了两次数据,在这两次的读取过程中A事务添加了数据,B 事务的这两次读取出来的集合不一样。幻读产生的流程如下:
You can’t perform that action at this time.
0 commit comments