时间次序 | 事务 A | 事务 B |
1 | 事务开始 | |
2 | 事务开始 | |
3 | 查询此时账户余额 1000 元 | |
4 | 充值 2000 元,使当前余额为 3000 元 | |
5 | | 查询此时账户余额为 3000 元(产生脏读) |
6 | 此时业务异常导致事务回滚,余额变为 1000 元 | |
7 | | 斲丧 1000 元,此时将余额修改为 2000 元 |
8 | | 提交事务 |
效果 | 正常余额应该为 0 元,但是因产生了脏读,导致事务 B 读取到了事务 A 未提交的数据,因此最后剩余 2000 元 |
时间次序 | 事务 A | 事务 B |
1 | 事务开始 | |
2 | 事务开始 | |
3 | 查询此时账户余额 3000 元 | |
4 | 其他操作 | |
5 | | 斲丧 2000 元,使当前余额为 1000 元 |
6 | | 提交事务 |
7 | 第二次查询账户余额为 1000 元 | |
效果 | 按照逻辑,两次查询的账户余额应该同等。 |
时间次序 | 事务 A | 事务 B |
1 | 事务开始 | |
2 | 事务开始 | |
3 | 查询此时数据量为 100 条 | |
4 | 其他操作 | |
5 | | 插入一条数据 |
6 | | 提交事务 |
7 | 第二次查询,数据总量为 101 条 | |
效果 | 按照精确逻辑,事务A前后两次读取到的数据总量应该同等 |
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |