今天突然发现 mysql 更新缓慢而且失败 SELECT * FROM information_schema.innodb_trx;发现有长时间 wait 的 update 语句,遂直接 kill,重启了一下 mysql。 后续发现该表的 update 语句都会超时,一直处于 wait 情况。其他表良好。
https://s2.ax1x.com/2020/01/16/lje0eK.png
查询情况的图片在上 一直会有个 query 为空的占有,杀死后 update 也会被干掉
今天突然发现 mysql 更新缓慢而且失败 SELECT * FROM information_schema.innodb_trx;发现有长时间 wait 的 update 语句,遂直接 kill,重启了一下 mysql。 后续发现该表的 update 语句都会超时,一直处于 wait 情况。其他表良好。
https://s2.ax1x.com/2020/01/16/lje0eK.png
查询情况的图片在上 一直会有个 query 为空的占有,杀死后 update 也会被干掉
1
Girlphobia Jan 16, 2020 via Android
听起来就像是这个表事务写入的某个锁没释放。
我不是 DBA,我瞎说的。 |
2
zuoakang Jan 16, 2020
连接池吧
|
3
dyllen Jan 16, 2020
是不是代码里面写的发生死锁了,我之前就有遇到,代码问题导致同一个事物里面出现死锁。
|
4
CallMeReznov Jan 16, 2020
表特别大?而且没建或者索引长时间没更新?
查询时 IO 情况如何? |
6
julyone OP @Girlphobia 有点像这个现象 但是没遇到这么奇怪的
|
7
julyone OP @CallMeReznov update 的并没有发生很高的 IO 估计就没有执行更新 一直在某个地方卡住了一样 表是有点大 只是更新一行数据 innodb 引擎 也是锁行啊
|
8
SjwNo1 Jan 16, 2020
update 怎么锁表了?是不是没用索引
另外,可能是死锁了 |
10
SjwNo1 Jan 16, 2020
select @@autocommit; 看看, 是不是为 0 了我怀疑, 不过重启了应该没啥问题
|
12
SjwNo1 Jan 16, 2020
行吧~ 删库吧
|
13
0dJ6Tu8Za734L89T Jan 16, 2020
行吧~ 删库吧
|
14
wangyzj Jan 16, 2020
隔离级别呢?
试过重建表和索引么? |
15
liuxu Jan 16, 2020
别猜了,贴 mysql 的 log 吧
|
16
lenmore Jan 16, 2020
有 SQL 执行完了,但是事务没提交。
可能是应用启了事务,但是异常退出或者在做什么耗时的从操作,一直没 commit |
17
abccccabc Jan 16, 2020
有可能是事务没有提交导致的,以前我公司也出现过大面积的这种情况。检查未提交 的 SQL 对应的程序。改吧。没啥好办法。
|
18
ETO Jan 16, 2020
楼主解决好了,@我一下
|