首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【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万行。

从库查询延迟,

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

3.3 分析主库的binlog日志

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

3.4 分析从库的中继日志

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

四、结论

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

本文结束。

• 若有侵权请联系小麦苗删除

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201228A084GI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券