RR和RC使用场景


MySQL的RR需要gap lock来解决幻读问题。而RC隔离级别则是允许存在不可重复读和幻读的。所以RC的并发一般要好于RR;

RR隔离级别,通过 where 条件走非索引列过滤之后,即使不符合where条件的记录,也是会加行锁。所以从锁方面来看,RC的并发应该要好于RR;可以减少一部分锁竞争,减少死锁和锁超时的概率。

读提交(Read Committed)

  1. 数据库领域,事务隔离级别的一种,简称RC
  2. 它解决“读脏”问题,保证读取到的数据行都是已提交事务写入的
  3. 它可能存在“读幻影行”问题,同一个事务里,连续相同的read可能读到不同的结果集

可重复读(Repeated Read)

  1. 数据库领域,事务隔离级别的一种,简称RR
  2. 它不但解决“读脏”问题,还解决了“读幻影行”问题,同一个事务里,连续相同的read读到相同的结果集

RR下,大事务嵌套几个小事务,第一个小事务写操作提交后,后面的小事务不能读取到第一个小事务提交的内容;
RC下,大事务嵌套几个小事务,第一个小事务写操作提交后,后面的小事务可以读取到第一个小事务提交的内容;

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/288246.html

(0)
上一篇 2022年9月8日
下一篇 2022年9月8日

相关推荐

发表回复

登录后才能评论