深入理解MySql的隔离级别

https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=2665513435&idx=1&sn=41ffb114be4a5b53de87831b9c8427bf&chksm=80d67998b7a1f08e1b1187915609ecc43715151b015ac156ce5a9645e654910cdda1d48d5883&scene=21#wechat_redirect

(1)读未提交(read-uncommitted):X锁-排它锁的引入,保证避免 “丢失修改”的问题,由于读没有加锁,只有写加锁,带来了脏读的问题。

(2)读已提交(read-committed):S锁-共享锁的引入,保证读数据需要加读锁,需要等到写锁释放才能进行,避免了读到未提交的数据的问题,但是由于防止长时间占有读锁不能释放的问题,读锁加锁解锁的时间过短,导致在整个事物周期连续两次读的结果可能不一直,导致不可重复读的问题。

(3)可重复读(repeatable-read): 写数据的时候加上X锁, 直到事务结束, 读数据的时候加S锁, 也是直到事务结束。这能避免“丢失数据”和“脏数据”, “不可重复读”三个问题 , 这是数据库常用的隔离级别

(4)串行(serializable):解决幻读(插入行)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容