3.如何优化与避免MDL锁
MDL锁一旦发生会对业务造成极大影响,因为后续所有对该表的访问都会被阻塞,造成连接积压 。我们日常要尽量避免MDL锁的发生,下面给出几点优化建议可供参考:
- 开启metadata_locks表记录MDL锁 。
- 设置参数lockwaittimeout为较小值,使被阻塞端主动停止 。
- 规范使用事务,及时提交事务,避免使用大事务 。
- 增强监控告警,及时发现MDL锁 。
- DDL操作及备份操作放在业务低峰期执行 。
- 少用工具开启事务进行查询,图形化工具要及时关闭 。
本篇文章主要分三方面来详解MDL锁,首先介绍了MDL锁产生的原因及作用,然后我们模拟出MDL锁,并给出查找及解决方法,最后给出几点避免MDL锁的建议 。其实,MDL锁在DB运维过程中经常遇到,它不是洪水猛兽,只是为了保护数据库对象,保证数据一致性 。希望大家看完这篇文章后能对MDL锁有更清晰的认识 。
参考:
- https://blog.csdn.net/wanbf123/article/details/80697787
- https://blog.csdn.net/finalkof1983/article/details/88063328
- https://www.jianshu.com/p/c2efdde99e2f
推荐阅读
- 深入理解JVM虚拟机
- 湖州妙峰山,深入幽林 茶圣诗僧留胜迹
- 十二级普洱茶划分提升人们对茶的理解
- 快速理解色彩搭配的三个配色知识
- 腾讯信息流内容理解技术实践
- MySQL主从复制没使用过?三大步骤让你从原理、业务上理解透彻
- 推石头上山是怎么理解的 西藏为什么把石头叠起来
- 啥是“清淡饮食” 你可能理解错了
- 对瑜伽的理解是什么呢?
- linux定时任务,让你更深入的了解系统