MYSQL 5.6.10 ANALYZE TABLE锁定问题

问题描述 投票:0回答:2

我在生产mysql db上运行了analyze table命令,却不知道它会阻止我选择表的内容。这导致生产站点出现故障:(锁定释放需要多长时间?另外,从备份中重新创建数据库可以解决问题/摆脱锁定?

请告诉我。

谢谢。

mysql sql database mysql-5.6 table-locking
2个回答
1
投票

ANALYZE TABLE非常清楚地说'在分析过程中,表被锁定了InnoDB和MyISAM的读锁'。

您可以在SQL中使用KILL {connection number}来停止命令。

注意:您可能应该更新到更新版本的MySQL-5.6。


1
投票

ANALYZE TABLE等待获取元数据锁。在等待时,对表的任何SQL查询都会等待ANALYZE TABLE。

ANALYZE TABLE通常非常快,即1-3秒。但是,只有获得元数据锁定才能开始快速操作。

当您对表进行长时间运行的事务时,它无法获取元数据锁。因此,如果您希望它运行得更快,请完成您的交易。

有关更多信息,请参阅我对MySQL failing to ALTER TABLE which is being actively written to的回答。

© www.soinside.com 2019 - 2024. All rights reserved.