MySQL中insert语句没有响应的问题分析(r11笔记第21天)
发布时间:2020-08-10 01:28:18
来源:ITPUB博客
阅读:92
作者:jeanron100
今天开发的一个同学问我一个MySQL的问题,说在测试数据库中执行一条Insert语句之后很久没有响应。我一看语句是一个很常规的insert
into xxx values形式的语句。看起来有些不太合乎常理啊,我对这类问题立马来了兴趣,准备好好看看到底是什么原因。
向开发同学了解了环境之后,我登录到服务端,首先查看是否可能是磁盘空间不足导致的问题。结果df -h的结果显示,空间还绰绰有余。
使用show proceslist查看线程情况。
可以看到大量的线程是Waiting for table level lock ,开发同学提交的SQL语句也被锁住了,也是同样的锁。
| 253688 | webadmin | xxxx | pt_test | Query | 171 | Waiting for
table level lock | insert into ptp_jgg(sub_type) values(9999)这类表级锁好像在MyISAM中还是看到过,结果查看表的存储引擎,发现都是InnoDB,
对于这类问题的一种解决方法,就是使用kill的方式杀掉线程。
mysql&