在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一个某某库大概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功能 |
请发表评论