MyISAM index file (.MYI file) has a counter in the header that can be used to check whether a table has been closed properly.
CHECK TABLE or myisamchk means this counter has gone out of sync.
clients are using or haven't closed the table properly
MyISAM table is copied without first issuing LOCK TABLES and FLUSH TABLES.
myisamchk --recover or myisamchk --update-state at the same time that it was in use by mysqld.
mysqld servers are using the table and one server performed a REPAIR TABLE or CHECK TABLE on the table while it was in use by another server.
What is InnoDB?
© 2007 John Michael Pierobon