项目中有个表经常增删改,因此定期需要优化一下表:
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; --这个动作很快,几乎瞬间完成