在InnoDB上杀死OPTIMIZE是否安全?

时间:2014-02-11 09:18:23

标签: mysql optimization process innodb kill

在不损坏表的情况下终止InnoDB表上的OPTIMIZE查询是否安全?

MySQL文档说:

  

但是,在某位操作上执行了REPAIR TABLEOPTIMIZE TABLE操作   MyISAM表导致表已损坏且无法使用   (读取和写入失败),直到您再次优化或修复它   (没有中断)。

但它没有说InnoDB。

1 个答案:

答案 0 :(得分:4)

如果你OPTIMIZE InnoDB表,它会为它创建一个新的索引结构,并将记录从旧表复制到新表。复制完成后,然后切换表。

如果你在这个InnoDB的中间杀掉OPTIMIZE就必须回滚。

这是安全的,但可能需要很长时间才能回滚。