内部开发测试的服务器(刀片机,都是机械盘7200转,),最近有针对若干表经常要清空数据的需求,正常通过delete,truncate,drop操作一致等待中,最长等待半个多小时,都无法清空和删除整个表,尝试加where进行单条和多条数据的delete操作,成功操作一两次后还是会出现卡死情况,最后想删除重建,居然也卡死。
此处希望有路过的兄台大佬指点下这其中缘由。
后面考虑是否是表或记录被锁导致,尝试使用事务锁相关语句排查,但也是无果。
show processlist;
select * from information_schema.innodb_trx;
select * from performance_schema.data_locks;
select THREAD_ID,NAME ,PROCESSLIST_ID from performance_schema.threads
where THREAD_ID = 4914
select * from performance_schema.data_lock_waits;
kill 999;
最终通过删除对应数据库表的ibd文件,再drop操作,最后重建表完成清空数据。