理解数据库4种隔离级别记录

本文详细介绍了四种事务隔离级别:读未提交数据、读已提交的数据、可重复读及串行执行的特点与应用场景。通过对比不同级别的特性,帮助读者理解如何选择合适的事务隔离级别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.读未提交数据(read uncommited)

各个会话(Session),可读取,未被提交的数据(没持久化,可以回滚,事务场景下算无效数据)。通常基本不会被使用,跟使用事务的场景不匹配。

2.读已提交的数据(read commited)

各个会话(Session),只能读取,已被提交的数据(已经持久化,不可以回滚,确实为有效数据)。通常基本都是用这个级别,跟事务场景基本匹配,若有执行顺序要求,需要自定义锁的实现。

3.可重复读(repeatable read)

各个会话(Session)的读取操作,在本次会话内存在缓存,若本次会话不执行UPDATE,INSERT操作,哪怕其他会话已经更改了读结果,缓存也不会改变。
鸡肋,不知道在事务环境下,这个模式有毛线用。

4.串行执行(serializable)

各个会话(Session)的操作,排队执行。接近这个效果,可以认为是这样。真实实现略有差异。功能性很强,性能很差,通常不会使用。除非使用场景就一个会话,不然实在想不到为啥用这个模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值