项目中有个表经常增删改,因此定期需要优化一下表:

optimize table `vip_active_anonymous`;

执行下面语句直接提示:

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

查过资料表明,optimize table 对于innodb来说,无法作为a single operation,实际的操作是:

ALTER TABLE test.foo ENGINE=InnoDB;  -- 比较费时,测试了mysql8.0一下不会锁表,执行过程中可正常进项插入和查询操作
ANALYZE TABLE test.foo; --这个动作很快,几乎瞬间完成