背景
在工作中,接到一个需求是针对用户进行批量更新数据,大概7W左右的数据量,而之前更新过2W的数据,所以直接通过内部系统进行数据更新。
分析
大概在更新1h之后,上游系统 查到出现故障,经过排查查询的A(从库)数据有一定的延时影响到业务,而我找leader说了自己批量操作数据的问题,可能影响到。最终经过DBA分析报告,发现确实业务高峰期进行了批量DDL操作,导致主从数据同步延时。
但是系统中也存在较多的从库慢SQL,并让进行优化。
解决方案
1.针对业务高峰期避免进行批量的DDL操作,以及对表的DML操作。最好在晚上的执行。
2.针对有可能延时的业务,直接查询主库,避免主从带来的延时业务影响。
3.针对现有的慢SQL进行优化处理
复盘
最近在看技术管理 专栏,其中一篇介绍 在生活、工作、学习中 我们所犯的错误分为4类,
1.超出我们能力、认知之外的事情,所犯的错误。
2.主动去做一些事情,遇到不可抗拒的风险,
3.由于自己粗心导致的,一些无知错误。
1.2 经历过我们可以经过一个较大的成长,但是3我们避免要在同一件类型 或者不同类型 犯相同的错误。
而这次主从延时,本来自己可以避免的,但是由于对系统的负载 主从不了解,所以导致的。