事务的四个隔离等级

事务的四个隔离等级

为了解决这些并发问题,mysql提出了事务的四大隔离等级:RU、RC、RR、SR。你需要事先了解四个隔离等级所解决的并发问题。我总结了如下:

图片发自简书App


第一类更新丢失在各种隔离等级下都已规避,是数据库在实现时默认解决的问题。

第二类更新丢失的解决是利用锁,而不依赖隔离等级。

由于mvcc机制和gap lock,mysql的RR等级就已经解决了大部分幻读问题了,但有一个例外(读者自行查阅,简单讲就是事务A select后,事务B修改了查询范围的某一行并提交,事务A再修改了那一行,并第二次select,会看到刚修改的那一行。原因是,多出的那一行是A自己改的,其记录的版本号便是A的版本号,自然对A可见)。为了规避这个例外,需要在后端代码中避开。

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

推荐阅读更多精彩内容