事务隔离级别_Mysql事务隔离级别RR与RC

在Mysql中,事务隔离级别RC(read commit)和 RR(repeatable read)两种事务隔离级别基于多版本并发控制MVCC(multi-version concurrency control)来实现。

由于RC隔离级别需要保持语句级别的一致性,事务中每一次读取都是访问当前时间点的已提交数据,因此事务中多查询语句时会创建多个不同的ReadView,开销较大,复杂度更高,而对于RR隔离级别,仅需要一个版本的ReadView,消耗更少。因此Mysql默认使用RR隔离级别。

    • RC隔离级别获得的语句级读一致性
    • RR隔离级别获得的事务级读一致性

if the transcation isolation level is REPEATABLE READ (the defalut level),all consistent reads within the same transcation read the snapshot established by the first such read in the transaction.

With READ COMMITTED isolation level,each consistent read within a transaction sets and reads its own fresh snapshot.

对于RC隔离级别,访问数据库是每次语句执行时间点的数据,而对于RR隔离级别,访问的数据是事务第一条语句执行时间点的数据。

在RR隔离级别下,执行start transaction命令后,并未开启事务,而是等到第一条语句执行时开启事务,并建立一致性读的snapshot,如果希望在start transaction时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值