相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


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

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

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

clients are using or haven't closed the table properly

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

计数器的工作原理如下

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

  • 在进一步更新期间,计数器不会更改。

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

  • 当您修复表或检查表并且发现它没问题时,计数器将重置为零。

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

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