舷Kelvin 2023-03-16 00:15 采纳率: 61.5%
浏览 17
已结题

开个脑洞,RC的事务隔离级别下,能手动控制ReadView的重建或沿用吗?

如题。最近了解到好像使用RC级别潮流逐渐兴起,因为它没有间隙锁一类的开销。
但是RC对比RR最大的弊端是数据一致性难以保证。
最简单的例子就是事务1在读转账记录之后,读余额数据之前,事务2进行了一次转账操作并提交,会导致事务1中所见的记录数据与余额数据丧失一致性。机制上的原理是RC级别每次查询都会自动生成一个新ReadView来用,而RR能保持一致性的原因是每次都用最初生成的那个ReadView。
那么胡思乱想一下,能不能在RC级别下也手动控制ReadView的重建和沿用?比如在这个需要转账记录表和余额表强行一致的情形下,就手动控制余额的查询继续沿用查询余额时的ReadView,不知道有没有这样的做法,或者是mysql中是不是也有其他方法达成这样的目的?

  • 写回答

2条回答 默认 最新

  • a1767028198 2023-03-16 09:16
    关注

    这就要找人家的官方文档或者源码了,是否预留口子让你能影响readview的生成,但是就算是有,也不太好用,undolog,redolog这些东西是引擎层面的功能,binlog才是server层面,readview是不是也是引擎层面的功能?如果是,切换引擎,是不是还能支持这就不知道了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月28日
  • 已采纳回答 3月20日
  • 创建了问题 3月16日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么