三、问题总结1、
slave_rows_search_algorithms参数的作用
此参数是从节点接收到数据时,采用何种方式进行数据查找,取值如下:
- TABLE_SCAN,INDEX_SCAN(默认值)
- INDEX_SCAN,HASH_SCAN
- TABLE_SCAN,HASH_SCAN
- TABLE_SCAN,INDEX_SCAN,HASH_SCAN

文章插图
导致走HASH_SCAN方式 。
2、HASH_SCAN方式存在缺陷
查阅相关资料,发现主从同步走HASH_SCAN方式,也出现过类似缺陷:

文章插图
3、建议的解决方式
如何保障性能效率,又能很好的解决此问题:
1) 不用修改主从同步参数
slave-rows-search-algorithms
仍采用“INDEX_SCAN,HASH_SCAN“方式,这样是可以提升主从同步的效率
2)表结构必须加上主键(可以是自增ID也可以是联合主键),从检索速度和稳定性来讲,没特殊需要,不建议采用字符类型作为主键 。
【MySQL主从同步出现的诡异HA_ERR_KEY_NOT_FOUND故障】
推荐阅读
- MySQL中如何修改用户各种信息
- MySQL 为什么需要 redo log?
- MySql索引 | 什么是索引呢?索引是什么样子的?
- linux系统下安装mysql 8.0.26配置文件my.cnf详细注解
- MySQL表数据去重几个业务逻辑实现
- 手把手教你分析解决MySQL死锁问题
- 从根上彻底理解MySQL的索引
- # MySQL server 层和存储引擎层是怎么交互数据的?
- MySQL 占用 CPU 过高问题定位及优化
- MySQL查询是否安装&删除
