Mysql optimize、Analyze、check、repair维护操作

optimize、Analyze、check、repair维护操作

optimize
数据在插入,更新,删除的时候难免一些数据迁移,分页,之后就出现一些碎片,久而久之碎片积累起来影响性能,这就需要DBA定期的优化数据库减少碎片,这就通过optimize命令。 optimize table 表名。

碎片可根据show table status 查看,实际数据data_length 与空洞碎片数据data_free 比例判断
注意: optimize table 产生锁,推荐业务底峰时执行,也只能针对MyISAM

如果InnoDB需要使用alter table tabname engine=innodb

 

Analyze
用来分析和存储表的关键字的分布,使得系统获得准确的统计信息,影响 SQL 的执行计划的生成。对于数据基本没有发生变化的表,是不需要经常进行表分析的。但是如果表的数据量变化很明显,用户感觉实际的执行计划和预期的执行计划不 同的时候,执行一次表分析可能有助于产生预期的执行计划。

Analyze table 表名


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

Repair optimize需要有足够的硬盘空间,否则可能会破坏表,导致不能操作,那就要用上repair,注意INNODB不支持repair操作

参考:
http://www.cnblogs.com/littlehb/archive/2013/05/08/3067175.html

请使用浏览器的分享功能分享到微信等