MySQL中如何理解Semaphore wait与undo log

网友投稿 339 2023-12-27

MySQL中如何理解Semaphore wait与undo log

本篇文章为大家展示了MySQL中如何理解Semaphore wait与undo log,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

MySQL中如何理解Semaphore wait与undo log

场景:

MySQL-5.7.17, 主从架构, 业务读写分离, 只读从库不定期出现延迟, 并触发Innodb的Semaphore wait导致从库主动Crash;

结论:

数据库升级到5.7.19, 调整block size和buffer_pool_instances;

重点!:

毕竟看不懂innodb的源代码, 没有理清楚详细的逻辑, 只能对问题现象和代码碎片进行分析;

分析:

源代码为5.7.17

现象上, 所有实例中只有这一个业务的实例有这种问题, 且通过更换虚拟机/物理机的方式确认了并非外部原因导致同步延迟;

通过监控的观察, 确认了在延迟出现的时候没有突发性的CPU使用率和IO使用率;

先上error log

select r.id 

    from tb_r r 

    inner join tb_a a on r.id = a.id 

left join tb_asf asf on r.id = asf.id and asf.created_time > 2999-99-99 99:99:99

    inner join tb_ua ua on a.id = ua.id 

where r.type=0 and r.status = 0 and a.type > 0 and r.num > 0 and ua.num=2

GROUP BY r.id 

order by a.col1 desc , SUM(IFNULL(asf.col2,0)) desc, a.col3 desc

limit 28

上述内容就是MySQL中如何理解Semaphore wait与undo log,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:jquery现在还需要学吗(学了jquery有必要学vue吗)
下一篇:layui框架的作用是什么(layui框架table)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~