繁体   English   中英

MySQL tableName.Ibd文件大小很大

[英]MySQL tableName.Ibd file size is huge

最近,我已将MySQL DB从一台服务器复制到另一台服务器。 意思是,尽管我已经从Master DB中清除了许多行。 因此,经过一段时间后,复制正确完成。 我验证了两个数据库中的数据计数,这是相同的。

之后,我使用以下查询验证了slave中的DB大小。

SELECT table_schema "Schema_Name", Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB" FROM   information_schema.tables GROUP  BY table_schema;

通过此查询,我得到了数据库的大小。 它是60 GB。


我的问题

我在“ ProgramData-> Data-> DBName”文件夹中有一个名为tableName.ibd的文件。 该文件占用500GB的内存。

所以我的问题是,尽管我的数据库大小本身只有60GB,但为什么这个文件占用了这么多的大小。

我也验证了程序数据中的Ibdata文件大小。 仅1GB。

请帮我。 如何清除此文件。 这将对清除产生什么影响。

删除数据后文件会碎片化。 如果删除表中的大多数记录,则通常大多数记录将为空。

最简单的“碎片整理”方法是运行ALTER TABLE tablename FORCE 这会进行无操作更改并重建表。

60GB的表将需要一段时间才能重建,因此在运行时请务必小心。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM