CHECK TABLE 是否添加读/写锁?

CHECK TABLE 是否添加读/写锁?

昨天,我浏览了CHECK TABLE一张经常被阅读的表格。我扫描了MySQL 文档CHECK TABLE查找任何提及“锁定”的内容(未找到任何内容),并且还注意到只SELECT需要特权即可运行该命令。因此,我得出结论,该命令没有执行任何读取锁定,即使在生产环境中也可以安全运行。

遗憾的是,运行该命令花费了 1 分 37 秒,并且似乎阻止了所有读取访问。因此,我的问题是,是否CHECK TABLE有任何读取锁定?还有其他原因导致我在表上遇到读取阻塞吗?

谢谢

答案1

问题肯定是,SELECT在表格中运行并UPDATE加载单个行时速度非常慢。因此,CHECK TABLE在单个行上被锁定,并且花费了很长时间。

结论是:CHECK TABLE如果您要更新很多行,则切勿运行。

相关内容