对于一下操作,执行期间将对表进行锁定,因此一定要在数据库不繁忙的时候执行相关操作
1.分析表
- analyze [local | no_write_to_binlog] table tbl_name[,tbl_name]...
分析结果将可以是的系统得到准确的统计信息,是的sql能够生成正确的执行计划,如果用户更觉实际执行计划并不是预期的执行计划,执行一次分析表可能解决问题,在分析期间,使用一个读取锁定对表进行锁定,这对于myisan,bdb,innodb表有作用,对于使用myisan中的myisanchk -a相当
2.检查表
- check table tbl_name[,tbl_name]…[option]…option={quick|fast|medium|extended|changed}
作用是检查一个或多个表是否有错误,对于myisam表,关键字统计数据被更新
check table sales;
check table 也额、可以检查视图是不是有错误
3.定期优化表
- optimize [local|no_write_to_binlog] table tbl_name[,tbl_name]……
已经删除了表的一部分,或者对含有可变长度的表进行了很多更改,应使用optimize table命令来进行表优化,这个命令可以将表中的空间碎片进行合并,并且可以消除由于删除或者更新造成的空间资源,但optimize table命令只对myisam,bdb,和innodb表起作用
- optimize table tbl_name;