2019-12-29 四种事务隔离级别

读未提交

读取到别的事务未提交的数据。
会导致脏读
脏读:读取到未提交的数据。

读已提交

只能读取到别的事务已经提交的数据|可能会导致事务前后读取的数据不一致,也就是不可重复读。
不可重复读:事务A执行期间读取两次数据行D1,第一次读取完之后,事务B修改了D1的值并且提交了,事务A再次读取数据行D1时,它的值已经发生了改变。所以事务A使用D1前后的值不一致。

可重复读(锁定正在读取的行)

事务前后读取的数据是一样的。上面已经阐述了不可重复读的场景。要做到可重复读,就要求事务A在操作数据集D1~DN的时候,其他的事务不可以操作这个数据集。虽然可重复读,但是也会出现幻读。
幻读:事务A操作数据集D1DN期间,事务B写入了新的数据E1EN,这时事务A读取不到新写入的数据(E1~EN),这被称作是幻读。

串行化(锁表)

事务之间串行执行,一个事务未结束的时候,另一个事务不允许执行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容