相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  表未正确关闭导致的问题

18.2.4.2 表未正确关闭导致的问题

每个 MyISAM 索引文件 (.MYI 文件) 的头部都有一个计数器,可用于检查表是否已正确关闭。如果您从 CHECK TABLEmyisamchk 中获得以下警告,则表示该计数器已不同步

clients are using or haven't closed the table properly

此警告并不一定意味着表已损坏,但您至少应该检查表。

计数器的作用如下

  • 第一次在 MySQL 中更新表时,索引文件头部的计数器会递增。

  • 在后续更新中,计数器不会改变。

  • 当表的最后一个实例关闭时(因为执行了 FLUSH TABLES 操作,或者因为表缓存中没有空间),如果表在任何时间点都已更新,则计数器会递减。

  • 当您修复表或检查表并发现表正常时,计数器将重置为零。

  • 为了避免与可能检查表的其他进程交互时出现问题,如果计数器为零,则在关闭时不会递减。

换句话说,只有在以下情况下,计数器才会变得不正确