云数据库 RDS-MySQL主备复制延迟场景及解决方案:场景2:对无主键表更新
场景2:对无主键表更新
RDS for MySQL的Binlog采用row格式,对每一行的数据更新,都会形成row格式Binlog event记录。例如:一个update语句更新100行数据,那么row格式的Binlog中会形成100行update记录,备机或只读回放时会执行100次单行update。
只读节点和备机在回放主库的Binlog event时,会根据表的主键或者唯一二级索引来检索需要更改的行。如果对应表未创建主键,则会产生大量的全表扫描,从而降低了Binlog日志的应用速度,产生复制延迟。
排查方法:
通过show create table xxx,分析执行慢的update和delete语句对应的表,分析是否有主键。
解决方法:
给无主键表增加主键,或者酌情增加唯一二级索引。
- 华为云数据库 RDS for MySQL常见故障排除_华为云
- 云数据库RDS
- 华为云数据库 RDS for PostgreSQL 实例规格介绍
- RDS for MySQL数据库实例是什么_创建mysql实例步骤_如何创建RDS for MySQL数据库实例
- GaussDB版本_GaussDB数据库版本_高斯数据库版本-华为云
- GaussDB主键生成_GaussDB存储过程_高斯数据库主键生成_华为云
- MySQL云数据库_【免费】_在线MySQL免费数据库_SQL数据库
- 文档数据库服务DDS性能调优_MongoDB性能调优_华为云
- 云数据库如何选购?
- GaussDB内核_GaussDB数据库内核_高斯数据库内核_华为云