今天遇到一个问题,一个同事给我截了一个图,
上面有大量的“Waiting for table level lock”,问我怎么处理。我想当然了一下,myisam表都是表锁,并发的insert出现“Waiting for table level lock”不是很正常么,于是就把我的想法告诉他了:使用批量插入或者用lock...unlock; 包裹多条insert。过了一会儿,同事说解决了,并发过来一个截图,上面有一个myisam表的select session。
无语,wtf!
其实这个问题如果仔细看一下是比较明显的,session上的processlist_time长达80多秒,正常的insert不会有这么长时间的阻塞。倒是慢查询导致的读阻塞写是比较有可能的。还是太过于想当然。
<