如题。最近了解到好像使用RC级别潮流逐渐兴起,因为它没有间隙锁一类的开销。
但是RC对比RR最大的弊端是数据一致性难以保证。
最简单的例子就是事务1在读转账记录之后,读余额数据之前,事务2进行了一次转账操作并提交,会导致事务1中所见的记录数据与余额数据丧失一致性。机制上的原理是RC级别每次查询都会自动生成一个新ReadView来用,而RR能保持一致性的原因是每次都用最初生成的那个ReadView。
那么胡思乱想一下,能不能在RC级别下也手动控制ReadView的重建和沿用?比如在这个需要转账记录表和余额表强行一致的情形下,就手动控制余额的查询继续沿用查询余额时的ReadView,不知道有没有这样的做法,或者是mysql中是不是也有其他方法达成这样的目的?
开个脑洞,RC的事务隔离级别下,能手动控制ReadView的重建或沿用吗?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- a1767028198 2023-03-16 09:16关注
这就要找人家的官方文档或者源码了,是否预留口子让你能影响readview的生成,但是就算是有,也不太好用,undolog,redolog这些东西是引擎层面的功能,binlog才是server层面,readview是不是也是引擎层面的功能?如果是,切换引擎,是不是还能支持这就不知道了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥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咨询(拒绝大模型回答)