一般来说TRUNCATE TABLE是毫秒级的命令,不会受到数据量的影响,但是当你要TRUNCATE TABLE的表还有事务锁未提交的时候,就会出现TRUNCATE TABLE执行太慢(其实就是无尽的执行,永远不会结束)。
这是因为事务没有正常结束导致的事务锁,需要手动kill掉
#查询当前未提交的事务锁
SELECT * FROM information_schema.INNODB_TRX
#根据这个事务的线程ID(trx_mysql_thread_id),用kill命里杀死
kill 94362
之后你再执行TRUNCATE TABLE就立马成功了。
本文讲述了在执行TRUNCATE TABLE时遇到的长时间延迟问题,原因在于事务未提交。解决方法是通过查询INNODB_TRX表找到事务ID并强制kill掉,确保操作顺利进行。
3945

被折叠的 条评论
为什么被折叠?



