在不损坏表的情况下终止InnoDB表上的OPTIMIZE
查询是否安全?
MySQL文档说:
但是,在某位操作上执行了
REPAIR TABLE
或OPTIMIZE TABLE
操作 MyISAM表导致表已损坏且无法使用 (读取和写入失败),直到您再次优化或修复它 (没有中断)。
但它没有说InnoDB。
答案 0 :(得分:4)
如果你OPTIMIZE InnoDB表,它会为它创建一个新的索引结构,并将记录从旧表复制到新表。复制完成后,然后切换表。
如果你在这个InnoDB的中间杀掉OPTIMIZE就必须回滚。
这是安全的,但可能需要很长时间才能回滚。