脏读
时间顺序 | 转账 | 取款 |
---|---|---|
1 | 开启事务 | |
2 | 开启事务 | |
3 | 查询余额10000 | |
4 | 取款1000元,余额9000元 | |
5 | 查询额度9000元 | |
6 | 发生了一个未知的错误,事物发生回滚,10000元 | |
7 | 转入2000进来,更新新的余额为11000 | |
8 | 提交事物 | |
正常的逻辑12000元 |
不可重复读
时间片 | 事务A | 事务B |
---|---|---|
1 | 开启事务 | |
2 | 第一次查询,余额10000元 | |
3 | 开启事务 | |
4 | 操作 | |
5 | 把余额改为20000元 | |
6 | 提交事务 | |
7 | 查询余额为20000元 | |
前一次查询的结果应当和后一次是一致的 |
幻读
统计
时间片 | 事务A | 事务B |
---|---|---|
1 | 开启事务 | |
2 | 第一次计数,数据量100个 | |
3 | 开启事务 | |
4 | 其他事 | |
5 | 插入100条数据 | |
6 | 提交 | |
7 | 第二次为200条 | |
幻读 |
pip install pymysql -i https:/pypi.douban.com/simple