最近很多朋友留言说事务的隔离级别问题,就写了一篇分析性的,希望可以帮助到大家。
引言
之前关于事务的文章已介绍了事务的概念以及事务的四个属性(ACID),相信你对事务应该有所认识和了解。
本篇文章是关于事务的隔离性,介绍数据库提供的多种隔离级别。
数据库访问的并发性问题
所谓事务的隔离性,其实事务的这个属性是针对数据库访问的并发性问题而言的。
那何谓数据库访问的并发性问题呢?
所谓数据库访问的并发性问题是指多个事务可以同时访问数据库中的数据,而当多个事务在数据库中并发执行(同时执行)时,数据的一致性可能受到破坏,从而导致数据出现问题。
还是举上次转账那个例子吧!
假设你的账号上有 1000 元,你转账给朋友 100 元,然后又向账号汇入 100 元,请问你的账号上余额是多少?是不是太简单了,小学生都会算,当然还是 1000 元,对吧。 整个流程如下:
- 查看账号余额为 1000 元
- 转账给朋友 100 元,账号