解决方法二 分析当前数据库正在运行线程来定位效率低的SQL,再优化这些低效SQL语句来降低实例的CPU使用率以提升系统性能。具体步骤如下: 连接MySQL实例。具体操作请参见 实例连接方式介绍 ,查看连接实例的内容。 执行 show full processlist 命令查看当前MySQL正在进行的线程,包括线程的状态、是否锁表等,可以实时地查看当前SQL的执行情况,定位效率低的查询。
主备复制延迟场景及解决方案 场景1:主库执行了大事务 当主实例执行了大事务后,会产生大量的Binlog日志,备机或只读节点拉取这些Binlog耗时比一般事务长,且至少需要花费与主实例相同的时间来回放这些事务的更新,从而导致备机或只读节点出现复制延迟。 解决办法: 对于一条SQL语句执行大量数据的大事务,执行 show full processlist ,查找是否存在长时间执行的delete或update语句。 分析全量日志或慢日志,检查是否有大事务。