11966363,hardcore,localhost,oss_log,Query,11084,Waiting for table metadata lock,drop table 2014_10_17_oss_abandonquest
5.5的MDL机制是如果事务不释放,事务里边涉及到的表都会持有该表的DML锁,事务不释放,锁就不释放。而5.0、5.1的MDL机制与事务无关,只要语句结束,语句持有的MDL锁就会释放。这是两者的区别,确实该表引擎没关系。
下面是个测试:
| session.1 | session.2 | |||||||
| Step.1 | begin; | |||||||
| Step.2 | select * from tb_myisam; | |||||||
| Step.3 | drop table tb_myisam; | |||||||
| 被阻塞… | ||||||||