File tree Expand file tree Collapse file tree 2 files changed +8
-8
lines changed Expand file tree Collapse file tree 2 files changed +8
-8
lines changed Original file line number Diff line number Diff line change @@ -92,25 +92,25 @@ MySQL 默认采用自动提交模式。也就是说,如果不显式使用`STAR
92
92
93
93
## 丢失修改
94
94
95
- T<sub >1</sub > 和 T<sub >2</sub > 两个事务都对一个数据进行修改,T<sub >1</sub > 先修改 ,T<sub >2</sub > 随后修改,T<sub >2</sub > 的修改覆盖了 T<sub >1</sub > 的修改。
95
+ 丢失修改指一个事务的更新操作被另外一个事务的更新操作替换。一般在现实生活中常会遇到,例如: T<sub >1</sub > 和 T<sub >2</sub > 两个事务都对一个数据进行修改,T<sub >1</sub > 先修改并提交生效 ,T<sub >2</sub > 随后修改,T<sub >2</sub > 的修改覆盖了 T<sub >1</sub > 的修改。
96
96
97
97
<div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/image-20191207221744244.png " /> </div ><br >
98
98
99
99
## 读脏数据
100
100
101
- T<sub >1</sub > 修改一个数据 ,T<sub >2</sub > 随后读取这个数据。如果 T<sub >1</sub > 撤销了这次修改,那么 T<sub >2</sub > 读取的数据是脏数据。
101
+ 读脏数据指在不同的事务下,当前事务可以读到另外事务未提交的数据。例如: T<sub >1</sub > 修改一个数据但未提交 ,T<sub >2</sub > 随后读取这个数据。如果 T<sub >1</sub > 撤销了这次修改,那么 T<sub >2</sub > 读取的数据是脏数据。
102
102
103
103
<div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/image-20191207221920368.png " /> </div ><br >
104
104
105
105
## 不可重复读
106
106
107
- T<sub >2</sub > 读取一个数据,T<sub >1</sub > 对该数据做了修改。如果 T<sub >2</sub > 再次读取这个数据,此时读取的结果和第一次读取的结果不同。
107
+ 不可重复读指在一个事务内多次读取同一数据集合。在这一事务还未结束前,另一事务也访问了该同一数据集合并做了修改,由于第二个事务的修改,第一次事务的两次读取的数据可能不一致。例如: T<sub >2</sub > 读取一个数据,T<sub >1</sub > 对该数据做了修改。如果 T<sub >2</sub > 再次读取这个数据,此时读取的结果和第一次读取的结果不同。
108
108
109
109
<div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/image-20191207222102010.png " /> </div ><br >
110
110
111
111
## 幻影读
112
112
113
- T<sub >1</sub > 读取某个范围的数据,T<sub >2</sub > 在这个范围内插入新的数据,T<sub >1</sub > 再次读取这个范围的数据,此时读取的结果和和第一次读取的结果不同。
113
+ 幻读本质上也属于不可重复读的情况, T<sub >1</sub > 读取某个范围的数据,T<sub >2</sub > 在这个范围内插入新的数据,T<sub >1</sub > 再次读取这个范围的数据,此时读取的结果和和第一次读取的结果不同。
114
114
115
115
<div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/image-20191207222134306.png " /> </div ><br >
116
116
Original file line number Diff line number Diff line change @@ -92,25 +92,25 @@ MySQL 默认采用自动提交模式。也就是说,如果不显式使用`STAR
92
92
93
93
## 丢失修改
94
94
95
- T<sub >1</sub > 和 T<sub >2</sub > 两个事务都对一个数据进行修改,T<sub >1</sub > 先修改 ,T<sub >2</sub > 随后修改,T<sub >2</sub > 的修改覆盖了 T<sub >1</sub > 的修改。
95
+ 丢失修改指一个事务的更新操作被另外一个事务的更新操作替换。一般在现实生活中常会遇到,例如: T<sub >1</sub > 和 T<sub >2</sub > 两个事务都对一个数据进行修改,T<sub >1</sub > 先修改并提交生效 ,T<sub >2</sub > 随后修改,T<sub >2</sub > 的修改覆盖了 T<sub >1</sub > 的修改。
96
96
97
97
<div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/image-20191207221744244.png " /> </div ><br >
98
98
99
99
## 读脏数据
100
100
101
- T<sub >1</sub > 修改一个数据 ,T<sub >2</sub > 随后读取这个数据。如果 T<sub >1</sub > 撤销了这次修改,那么 T<sub >2</sub > 读取的数据是脏数据。
101
+ 读脏数据指在不同的事务下,当前事务可以读到另外事务未提交的数据。例如: T<sub >1</sub > 修改一个数据但未提交 ,T<sub >2</sub > 随后读取这个数据。如果 T<sub >1</sub > 撤销了这次修改,那么 T<sub >2</sub > 读取的数据是脏数据。
102
102
103
103
<div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/image-20191207221920368.png " /> </div ><br >
104
104
105
105
## 不可重复读
106
106
107
- T<sub >2</sub > 读取一个数据,T<sub >1</sub > 对该数据做了修改。如果 T<sub >2</sub > 再次读取这个数据,此时读取的结果和第一次读取的结果不同。
107
+ 不可重复读指在一个事务内多次读取同一数据集合。在这一事务还未结束前,另一事务也访问了该同一数据集合并做了修改,由于第二个事务的修改,第一次事务的两次读取的数据可能不一致。例如: T<sub >2</sub > 读取一个数据,T<sub >1</sub > 对该数据做了修改。如果 T<sub >2</sub > 再次读取这个数据,此时读取的结果和第一次读取的结果不同。
108
108
109
109
<div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/image-20191207222102010.png " /> </div ><br >
110
110
111
111
## 幻影读
112
112
113
- T<sub >1</sub > 读取某个范围的数据,T<sub >2</sub > 在这个范围内插入新的数据,T<sub >1</sub > 再次读取这个范围的数据,此时读取的结果和和第一次读取的结果不同。
113
+ 幻读本质上也属于不可重复读的情况, T<sub >1</sub > 读取某个范围的数据,T<sub >2</sub > 在这个范围内插入新的数据,T<sub >1</sub > 再次读取这个范围的数据,此时读取的结果和和第一次读取的结果不同。
114
114
115
115
<div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/image-20191207222134306.png " /> </div ><br >
116
116
You can’t perform that action at this time.
0 commit comments