MySQL check table/optimize table/analyze table/REPAIR TABLE

MySQL check table/optimize table/analyze table/REPAIR TABLE

关键词:optimize table,analyze table

转自:https://www.cnblogs.com/datastack/p/3826560.html

 

注意,这几个操作都会锁表,建议在业务空闲期操作

check table:检查InnoDB和MyIsam是否有错误。检查表或者视图是否存在错误,对 MyISAM 和 InnoDB 存储引擎的表有作用。对于 MyISAM 存储引擎的表进行表检查,也会同时更新关键字统计数据。

CHECK TABLE tbl_name [, tbl_name]  [option] 
option = {QUICK | FAST | MEDIUM | EXTENDED | CHANGED}
例如:

check table t;

check table t Fast QUICK;

 

optimize table:恢复被删除的块和重组表,清理碎片

对于InnoDB表不支持optimize操作,提示“Table does not support optimize, doing recreate + analyze instead”,当然也可以通过命令:alter table one type=innodb; 来替代。

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

 

analyze table:检测和重组表的关键字分布情况。用来分析和存储表的关键字的分布,使得系统获得准确的统计信息,影响 SQL 的执行计划的生成。

Analyze table 表名

 

REPAIR TABLE : 修复表

REPAIR TABLE t;

posted @ 2019-03-08 17:18  郭大侠1  阅读(348)  评论(0编辑  收藏  举报