• 主库DML请求,即插入删除修改语句比较频繁的情况
      • 主库大量写请求带来了大量的binlog日志,容易造成relaylog堆积,同步日志以及执行relaylog时速度跟不上造成延迟
      • 解决方案:采用基于逻辑时钟的并行复制
    • 主库执行大事务,事务提交耗时比较长
      • 如对很大的表进行全表update或者delete操作,如速度很慢的导入数据语句等
      • 从库再执行该大事务,又要耗时间,因此造成主从延时
      • 解决方案:将大事务分解为若干个小事务语句,及时提交
    • 对大表执行DDL语句修改表结构,其原因和大事务类似
      • DDL延时难以避免,尽量在业务低峰期执行
    • 主从库配置不一样
      • 硬件资源不一样
      • 配置方式不一样
      • 解决方案:统一配置
    • 表缺乏合适的索引和主键:
      • 查询的时候可能会因为缺乏合适的索引而进行全表扫描,或者很多扫描,导致从库回放语句较慢,造成主从延迟
      • 解决方案:设置合适索引
    • 从库自身压力过大:
      • 当很多读请求走从库时,从库负载会比主库还大,会造成主从延迟
      • 解决:设置多个从库进行负载均衡,打散读请求