问题来自我看到的一些行为。
我们在 8 核机器上使用 mysql 5.1.36,xtradb 版本 6。当删除具有大量表的数据库时,mysql 需要很长时间来检查每个表的权限,然后再删除它们。我理解这是正常行为,至少对于最新版本的 mysql。但是,这样做时,数据库上的所有其他查询都在“打开表”状态下阻塞。top 显示其中 1 个核心固定为 100%,而其他核心不执行任何操作。
这是预期的行为吗?检查权限和打开表代码周围是否有互斥锁?
谢谢!
是的,打开/关闭表周围有一个互斥锁: http ://www.mysqlperformanceblog.com/2009/06/16/slow-drop-table/