0

我有一个 innodb 表,并在主机 A 上设置 mysql innodb_file_per_table=1

此表的 ibd 文件分配大约 3GB 磁盘

然后,我将此表转储到 sql 文件(a.sql),a.sql 分配大约 2.5Gb 磁盘

接下来,我将 a.sql 导入到主机 B。

主机 A 和主机 B 具有相同的硬件、相同的系统、相同的 mysql 配置。

但是我发现,主机B上的这个表的ibd文件分配了30GB的磁盘。

我尝试将主机 B 上的此表转储到 b.sql

b.sql 的大小与 a.sql 相同。

我确信在将 a.sql 导入主机 B 后,我们没有警报表操作。

为什么分配磁盘这么大?谢谢。

表说明:

在此处输入图像描述

4

1 回答 1

0

你那里还有 ibdata1 吗?在主机 A 上运行优化表 a 后的结果是什么?这可能是因为在主机 A 中,您的表 A 的一些数据在文件 ibdata1 中。

于 2013-10-08T02:06:34.427 回答