想要收缩表空间,结果确变大了?啥原因?

一个表 t 文件大小为 1TB; 对这个表执行 alter table t engine=InnoDB; 发现执行完成后,空间不仅没变小,还稍微大了一点儿,比如变成了 1.01TB。

1 个回答

  • 菜菜
    世界上有两个我,一个想去远方,一个身不由己。
    在重建表的时候,InnoDB 不会把整张表占满,每个页留了 1/16 给后续的更新用。 也就是说,其实重建表之后不是“最”紧凑的。 假如是这么一个过程: 1.将表 t 重建一次; 2.插入一部分数据,但是插入的这些数据,用掉了一部分的预留空间; 这种情况下,再重建一次表 t,就可能会出现问题中的现象。
    发布于 2021-12-06 03:34 •IP属地 黑龙江
    举报
    评论
    收藏