我正在使用MySql 5.6工作台恢复一个10 GB的表。我注意到有一个.idb文件,其名称与c:\ProgramData....\Mysql\data中的表名相对应,并且在此恢复过程中,该文件的大小正在增加。然而,我注意到.idb文件的大小几乎比原始的.sql文件大2 GB(而且还在增长(它最初是一个.dump文件))。有人能告诉我为什么会这样吗?我的WorkBench中的进度条不起作用,我想要估计一下我的恢复进度
发布于 2015-08-27 06:58:33
如果非要我猜的话,为了便于更快的查找,相应的.idb文件要大得多。例如,.sql文件中用于各种索引的空间将只是用于创建索引的语句。但是,.idb文件中的实际索引将比创建它们的语句大得多。
发布于 2015-08-27 15:22:28
转储和idb文件具有完全不同的格式。第一个是文本文件,另一个是由MySQL服务器维护的二进制文件。与简单的文本表示相比,存储在其中的任何内容都需要更多的空间。就这么简单。
您既不能阻止idb文件的创建,也不能控制它包含的内容。因此,只要接受文件在导入大型数据库时会变大即可。
https://stackoverflow.com/questions/32237982
复制相似问题