各 MyISAM .MYI
          ファイルのヘッダには、テーブルが適切に閉じられているかをチェックするためのカウンタがあります。
        
          CHECK TABLE または
          myisamchk
          から次の警告が返されることがあります。
        
# clients is using or hasn't closed the table properly
これは、このカウンタがずれていることを意味します。テーブルの破損を意味しているわけではありませんが、少なくともテーブルを検査して問題がないことを確認する必要があります。
カウンタの仕組みは次のとおりです。
MySQL でテーブルが最初に更新されるときに、インデックスファイルのヘッダ内にあるカウンタが増加する。
その後の更新では、カウンタは変更されない。
              FLUSH
              によって、またはテーブルキャッシュに空きがないために、テーブルの最後のインスタンスが閉じられると、それまでにテーブルが一箇所でも更新されていればカウンタが減少する。
            
テーブルを修復するか、テーブルを検査して問題がなかった場合は、カウンタがゼロにリセットされる。
テーブルを検査する他のプロセスとの相互作用に伴う問題を回避するため、カウンタがゼロである場合は、テーブルを閉じる際にもカウンタが減少しない。
つまり、カウンタがずれる可能性があるのは、次の場合に限られます。
              MyISAM テーブルが
              LOCK および FLUSH
              TABLES を使わずにコピーされた。
            
更新されてから閉じられるまでの間に MySQL がクラッシュした(ただし、MySQL は各ステートメントで生じたすべての書き込みを次のステートメントまでに発行するため、テーブルが無事である可能性もある)。
              mysqld
              が使用していたテーブルで、第三者が
              myisamchk --recover または
              myisamchk --update-state
              を実行した。
            
              ある mysqld
              サーバが使用しているテーブルに対し、別の
              mysqld サーバが
              REPAIR または
              CHECK
              を実行した。この場合、CHECK
              は実行しても問題ない(ただし他のサーバから警告を受ける)が、REPAIR
              は避ける必要がある。現時点では、REPAIR
              を実行するとデータファイルが新しいファイルで置換され、それが他のサーバに通知されないからである。
            
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

