【DB宝34】测试MySQL主从复制中主库表缺失主键会导致主从延迟的情况

0    6801    6

👉 本文共约807个字,系统预计阅读时间或需4分钟。

【DB宝34】测试MySQL主从复制中主库表缺失主键会导致主从延迟的情况

一、简介

导致MySQL主从复制延迟的原因有很多,其中一个原因就是大表缺失主键或唯一索引。

今天我们就通过实验的方式来验证这种情况。

二、环境准备

主库:IP为192.168.68.168,端口3306,版本为8.0.20

从库:IP为192.168.68.168,端口3306,版本为8.0.20

三、实验过程

3.1 主库创建表

主库先创建一张8万行的大表:

从库查询延迟:

发现,从库延迟越来越高,主要原因是主库正在进行大批量的数据插入操作。

大约5分钟后,主库执行完毕,

从库查询,数据已同步完成:

3.2 主库做更新操作

可以看出,主库基本在2s就更新完成,变化的行数为4万行。

从库查询延迟,

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

可以发现,最长延迟21秒左右。

3.3 分析主库的binlog日志

可以看出,在ROW模式下,在主库上执行了一条UPDATE语句,更新了4万行记录,但是在binlog中,记录了4万行的UPDATE语句。

3.4 分析从库的中继日志

可以看出,在从库上也是4万行的UPDATE语句,也是一条一条的进行更新。由于没有主键和索引,所以,就会导致在从库进行4万次的全表扫描,这样也就拖慢了从库APPLY的效率。

四、结论

在MySQL的主从复制架构中,若存在大表,那么一定要有主键或唯一索引,否则将导致很大的主从延迟。

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

18 − 13 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部