服务器之家

服务器之家 > 正文

optimize table出错解决方法

时间:2019-10-07 17:40     来源/作者:服务器之家
一个某某库大概360W,为了提高查询效率,做点优化,使用optimize table table.name;出现Table does not support optimize, doing recreate + analyze instead 
果断谷歌,查到一段E文。。。 

Everytime you do optimize MySQL, by using mysqlcheck -A -o or using ./mysql_optimize from here. 
You may see the output 

Table does not support optimize, doing recreate + analyze instead. 

It is because the table that you are using is InnoDB. 

You can optimize the InnoDB tables by using this. 

复制代码
代码如下:

ALTER TABLE table.name ENGINE='InnoDB'; 

This will create a copy of the original table, and drop the original table, and replace to the original place. 

Although this is safe, but I suggest you do backup and test first before doing this. 

原来如此,大致意思是说innodb的数据库不支持optimize,可以用 
ALTER TABLE table.name ENGINE='InnoDB'; 
该方法会对旧表以复制的方式新建一个新表,然后删除旧表。虽然这个过程是安全的,但是在进行操作时还是先进行备份为好 

还有一种方式: 

You can make OPTIMIZE TABLE work on other storage engines by starting mysqld with the --skip-new or --safe-mode option. In this case, OPTIMIZE TABLE is just mapped toALTER TABLE. 

上面是说要求我们在启动的时候指定--skip-new或者--safe-mode选项来支持optimize功能
标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部