数据库中事务的隔离性-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

数据库中事务的隔离性

简介: 在标准SQL规范中,定义了四个事务隔离级别。 1.读未提交 read uncommitted. 可以读到数据在别的事务处理期间的所有可能值。 2.读已提交 read committed. 别的事务已提交的值都可以被读到。 3.可重复读 repeatable read. 只能读到该事务开始前的值。忽略其他事务的修改。 4.串行化 seria

在标准SQL规范中,定义了四个事务隔离级别。

1.读未提交

read uncommitted.
可以读到数据在别的事务处理期间的所有可能值。

2.读已提交

read committed.
别的事务已提交的值都可以被读到。

3.可重复读

repeatable read.
只能读到该事务开始前的值。忽略其他事务的修改。

4.串行化

serializable.
是最严格的事务隔离级别,它要求所有的事务都被串行执行。

5.例子

为了方便说明问题,定义事务A:不断的读小明的语文成绩。事务B:将小明的语文成绩从原本的100分开始,不断加1,最终达到130分后提交事务。
t1时刻,事务A开始;t2时刻,事务B开始;t3时刻,事务B结束;t4时刻,事务A结束。
在整个过程中,事务A在各个隔离级别可能读到的情况见下表。

隔离级别 事务A可能读到的数据
读未提交 [100,130]中的任意值
读已提交 只可能读到100与130
可重复读 只能读到100
串行化 不可访问

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章