ITPub博客

首页 > 数据库 > MySQL > MySQL锁分析

MySQL锁分析

原创 MySQL 作者:xuexiaogang 时间:2021-12-11 11:25:40 0 删除 编辑

自己原文公众号: https://mp.weixin.qq.com/s/4JQwhyPOpt8QXZ_cjuDLug


简单的一个锁的说明。有时候其实不是什么证据都拿得到。但是可以推断,至少我们可以知道影响程度。

注意下图(图3),这里看到锁了2个表(蓝色框)说明这一个事务有多个表,具体哪两个表我们不知道,只但是h1表示知道的,因为SQL在这里(trx_query的就是也是我上图中的被卡主的那句SQL),另外一个不知道但是从破案的角度说明有。

红色的框表示锁了一个表,但是锁了2行,红色的表示图1的事务。锁的表示H1,但是还没有提交。但是这个SQL其实在后台是看不到的。

        虽然看不到,但是我可以推断影响,只是1-2行。如果这里出现几千几万行,多少出现多个表,那说明非常的严重了。



然后解析binlog可以看到成功的数据。这里注意的其实不是两个红框的内容,而是看commit和begin的时间。第一个红框的commit是16:54:40。而第二个红框的上面开始时间是16:52:00。这就可以充分说明锁的存在,因为第二个先开始,但是后结束,说明被堵塞了。但是如果说要找到超时被回退的SQL就不行了,没有执行成功,所以不能计入Binlog。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/637517/viewspace-2847175/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
OracleACE/PostgreSQLACE/阿里云MVP/腾讯云TVP/墨天轮 MVP/TiDBMVA/数盟会华东区长老/OpenTenBase社区委和技术委委员/架构师技术同盟名人堂成员上海地区理事会成员/if社区联合发起人/《DBA实战手记》作者/公众号:四海内皆兄弟

注册时间:2013-07-01

  • 博文量
    422
  • 访问量
    953204