舷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 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)