Thesql optimize table crash

myisamMySQLoptimization

When I try OPTIMIZE TABLE `table` (MyISAM) on a table which is about 300MB, then it is crashed and must be repaired. What could cause this problem? The same problem occurs on other tables over 300MB.

Best Answer

MYISAM tables are very fragile and get damaged/crash every now and then. First advice is to move to Innodb engine it is simply performed by using alter table command.

Now, to fix crashed MYISAM tables the proper way is to bring the MYSQL down and once it is down and there is no traffic you can fix them using this command line statement:

myisamchk --silent --force --fast  /path/table-name.MYI

Trying to repair/optimise MYISAM tables on a live server usually does not work. From MYSQL CLI the command should be

mysql> repair table tablename;

instead of optimize table if the table was crashed.