MySQL之语句复制与行复制

本文介绍了MySQL的两种复制方式——基于语句的复制和基于行的复制。基于语句复制记录造成数据更改的SQL及其元数据,而基于行复制则直接记录改变的数据。文章还探讨了两者之间的对比,并提到了一个专注于Java源码分析和技术分享的社群,提供资源、讨论和学习支持。
摘要由CSDN通过智能技术生成

MySQL复制之语句复制与行复制

这里我们来总结下MySQL复制的两种方式,基于语句的复制与基于行的复制。

一.基于语句的复制

       基于语句的复制,主库会记录造成数据更改的sql语句,并记录到日志中,日志文件除了记录造成数据改变的sql外,还记录了一些元数据信息,如时间戳。

二.基于行的复制

        基于行的复制莫斯会将发生改变的实际数据记录到日志中。

三.行复制与语句复制对比

     

优点 缺点
基于语句的复制模式

1.主备模式不同时,语句复制能够在多种情况下工作。如:主备库的表定义不同但数据结构相同,列的顺序不同。

2.基于语句的复制易于理解,方便定位问题

3.节省带宽。一条更新好几MB数据的语句在日志中可能只占几十字节

1.对于存储过程,触发器等存在大量的bug,不建议使用基于语句的复制模式

2. 更新是串行的,需要引入更多的锁

基于行的复制模式

1.支持所有场景的数据复制,包括sql构造,触发器,存储过程。

2.不需要串行化执行,可以减少锁的使用

3.相对于重放sql会造成很大查询代价却只造成很少行变化的数据的复制,行复制可能会花费更少的时间

1.相对于语句复制行复制会记录更多的二进制日志,导致日志非常庞大,并且会给主库上记录日志和复制增加额外的负载,更慢的日志记录则会降低并发度。<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大道化简

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值