检查一个表或多个表是否有错误:

CHECK TABLE tbl_name[,tbl_name] …[option] … option=  { QUICK | FAST | MEDIUM | EXTENDED |CHANGED}.

mysql>check table sales;
+--------------+-------+----------+----------+
| Table        | Op    | Msg_type | Msg_text|
+--------------+-------+----------+----------+
| sakila.sales | check| status   | OK      |
+--------------+-------+----------+----------+
1 row in set (0.01 sec)

如果已经删除了表的一大部分,或者如果已经对含有可变长度行的表进行了很多的改动,则需要做定期优化。这个命令可以将表中的空间碎片进行合并,但是此命令只对MyISAM、BDB和InnoDB表起作用:

OPTIMIZE[LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [,tbl_name]


mysql>optimize table sales;
+--------------+----------+----------+----------+
| Table        | Op       | Msg_type | Msg_text|
+--------------+----------+----------+----------+
| sakila.sales |optimize | status   | OK      |
+--------------+----------+----------+----------+
1 row in set (0.05 sec)