数据库中事务的隔离性

在标准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
串行化 不可访问
上一篇:Java内部类超详细总结(含代码示例)


下一篇:深入理解JavaScript中的this关键字