开发者社区> 问答> 正文

canal-adapter同步数据库部分事务手动提交的目的

在使用canal-adapter的时候,发现adapter同步数据库时,在代码中是使用的手动提交事务的方式,这样写是出于哪方面的考虑?与自动提交相比有什么好处吗?

原提问者GitHub用户xuej2s

展开
收起
山海行 2023-04-27 19:16:55 86 0
1 条回答
写回答
取消 提交回答
  • 控制一个batch 的数据尽量在一个事务内提交,若失败则整批失败,而不是部分,特别是针对目标端非merge 的情况,能极大减少人工介入(主键冲突)的几率。

    重复执行没有什么影响 的结论是基于sql 数据是通过幂等(merge)的方式执行的,你的这个场景可以使用自动提交

    目标端是否可以执行Merge语句,有很多场景,大部分关系型数据库都是支持的,但是前提是表有主键/唯一键

    原回答者GitHub用户wingerx

    2023-04-28 14:01:21
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载