在标准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串行化不可访问
相关资源:python入门教程(PDF版)