我在表name中删除了列employees。如果我运行OPTIMIZE TABLE employees,它会减少空间使用吗?
我的想法:
文档中说,optimize table等于alter table for InnoDB (如果我正确地阅读了https://dev.mysql.com/doc/refman/8.0/en/optimize-table.html#optimize-table-innodb-details )。
另外,alter table drop column会更改表中的行结构,因此它应该重写所有行。我想,这就是进行优化的地方。
发布于 2020-03-22 01:36:12
在运行任何更改行大小的ALTER后,没有必要优化InnoDB表上的表。
ALTER将行复制到一个新的表空间中,并重新构建索引。这将完成您希望通过优化表完成的碎片整理。
https://stackoverflow.com/questions/60769563
复制相似问题