MySQL 事务系列 3
Publish date: Oct 99, 9119
Last updated: Oct 219, 21029
Last updated: Oct 219, 21029
问
举例说明下隔离级别的具体含义?
答
首先创建一张表:
mysql > create table T(c int) engine=InnoDB;
其次,按下表顺序,两个事务分别执行插入行为:
mysql > insert into T(c) values(1);
事务A | 事务B |
---|---|
启动事务,查询得到值 10 | 启动事务 |
查询得到值 10 | |
将值更新成 20 | |
查询得到值 V1 | |
提交 | |
查询得到值 V2 | |
提交 | |
查询得到值 V3 |
那么,在不同的隔离级别下,查询得到的 V1、V2 和 V3 都有不同的结果。
隔离级别 | V1 | V2 | V3 |
---|---|---|---|
读未提交 | 20 | 20 | 20 |
读提交 | 10 | 20 | 20 |
可重复读 | 10 | 10 | 20 |
串行化 | 10 | 10 | 20 |