MySQL事务 - 隔离性中的隔离级别

1、前提概念


  • 隔离性(isolation)
    事务的隔离性意味着并发的事务之间是相互隔离的。即一个事务的内部操作及正在操作的数据必须封锁起来,不被企图进行修改的其他事务看到。隔离性是DBMS针对并发事务间的冲突提供的安全保证,DBMS可以通过加锁的方式在并发执行的事务间提供不同级别的分离。假如并发交叉执行的事务没有任何控制,操纵相同的共享对象的多个并发事务的执行可能引起异常情况。
    DBMS可以在并发执行的事务间提供不同级别的分离。分离的级别和并发事务的吞吐量之间存在反比关系。较多事务的可分离性可能会带来较高的冲突和较多的事务流产。流产的事务要消耗资源,这些资源必须要重新被访问。因此,确保高分离级别的DBMS需要更多的开销。
    隔离性包含四种隔离级别,分别是RU(读未提交)、RC(读已提交)、RR(可重复读)、SERIALIZABLE (串行化)。

  • 脏读
    一个事务读取到另一个事务未提交的数据。

  • 不可重复读
    在一个事务内,因读取到另一个事务已提交的update。导致在该事务内,对同一条记录读取两次以上的结果不一致。

  • 幻读
    在一个事务内,因读取到另一个事务已提交的insert数据或者delete数据。导致在该事务内,对同一张表读取两次以上的结果不一致。

  • 丢失更新
    两个事务针对同一数据都发生修改操作时,会存在丢失更新问题:

    在这里插入图片描述


2、数据准备


# 
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值