Mysql 锁机制分析

以下文章来源于京东技术 ,作者京东物流 张弓言

01 背景



在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了!

最近双十一开门红期间组内出现了一次因 Mysql 死锁导致的线上问题,当时从监控可以看到数据库活跃连接数飙升,导致应用层数据库连接池被打满,后续所有请求都因获取不到连接而失败。

整体业务代码精简逻辑如下:

@Transaction public void service(Integer id) { delete(id); insert(id); }

create table `test` ( `id` int(11) NOT NULL, `num` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `num` (`num`) ) ENGINE = InnoDB; <br> insert into test values (10, 10), (20, 20), (30, 30), (40, 40), (50, 50);