mysql之semi-consistent read知悉

semi-consistent read是什么

简单来说,semi-consistent read是read committed与consistent read两者的结合。一个update语句(semi-consistent read只针对update),如果读到一行已经加锁的记录,此时InnoDB返回记录最近提交的版本,由MySQL上层判断此版本是否满足update的where条件。若满足(需要更新),则MySQL会重新发起一次读操作,此时会读取行的最新版本(并加锁)。
(对于update scan返回的不满足条件的记录,会提前放锁)

使用限制

1、semi-consistent read只会发生在read committed隔离级别下
2、或者是参数innodb_locks_unsafe_for_binlog被设置为true。

优缺点

优点
1、减少了更新同一行记录时的冲突,减少锁等待。无并发冲突,读记录最新版本并加锁;有并发冲突,读事务最新的commit版本,不加锁,无需锁等待。
2、可以提前放锁,进一步减少并发冲突概率。对于不满足update更新条件的记录,可以提前放锁,减少并发冲突的概率。
3、在理解了semi-consistent read原理及实现方案的基础上,可以酌情考虑使用semi-consistent read,提高系统的并发性能。
缺点
1、非冲突串行化策略,因此对于binlog来说,是不安全的

为什么对于binlog来说是不安全的

这里又要提到上面所说的使用限制:RC级别下或者innodb_locks_unsafe_for_binlog为true。
如果innodb_locks_unsafe_for_binlog=true,就相当于禁止了gap锁。
粗略的可以理解为从RR降为RC隔离级别,毕竟RR与RC最大的不同在于gap锁(防止幻读)。

那就会出现以下问题:

session 1:
begin;
delete from a where b<=5;

session 2:
begin;
insert into a select 3;
commit;

session 1:
commit;

主库:
select * from a;

b
3

从库:
select * from a;
empty set

分析如下:

因为rc下没有gap锁,所以在session1把b<=5的记录加上X锁时,session2加了一条3的记录,而3没有被加锁也没有被选中,然后session2提交后,session1把3插入之前就选中的数据删除,所以主库有一条记录,而从库是根据binlog做数据同步的,binlog为statement记录的是master上产生的sql语句,按提交顺序记录的,因此binlog中记录的是先插入数据,后删除数据,所以产生了数据的不一致,因此semi-consistent read不建议使用。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
"noisytwins: class-consistent and diverse lmage generation through stylegans" 是关于通过 StyleGANs 实现类别一致和多样化图像生成的研究。 StyleGAN 是一种生成对抗网络 (GAN) 的变种,用于生成逼真的图像。它通过学习图像的潜在空间表示来生成图像,其中每个点都对应一个唯一的图像。在这项研究中,noisytwins 提出了一种改进的 StyleGAN 模型,旨在生成类别一致且具有多样性的图像。 传统的 StyleGAN 模型通常只能生成与训练数据集类别相似的图像,而无法产生跨类别的多样性。对于一个类别,它通常只能生成该类别中的某一个具体样式的图像。然而,noisytwins 通过引入噪音向量,并通过控制这些向量的方式,将该模型扩展至能够在一个类别内生成多种样式的图像。 通过这种方式,noisytwins 的模型能够生成以同一类别为主题的图像,同时在样式上具有多样性。例如,如果我们以猫为类别,传统的 StyleGAN 模型只能生成某一种具体颜色和纹理的猫图像,而 noisytwins 的模型可以生成多种颜色和纹理的猫图像。 这项研究的意义在于扩展了现有的图像生成技术的应用范围。通过实现类别一致且具有多样性的图像生成,noisytwins 的模型可以在许多领域中有重要的应用,如计算机游戏开发、虚拟现实技术以及艺术创作等。 总之,"noisytwins: class-consistent and diverse lmage generation through stylegans" 是一篇关于利用改进的 StyleGANs 实现具有类别一致性和多样性的图像生成的研究,该研究扩展了现有的图像生成技术,并在多个领域中有广泛的应用潜力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值