微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

删除表和列后MySQL中的可用空间吗?

如何解决删除表和列后MySQL中的可用空间吗?

从注释中,听起来好像您正在使用InnoDB,但没有“每表文件”选项。

在这种模式下,通常不可能从innodb表空间中回收空间。您唯一的做法是转储整个数据库,打开每表文件模式,然后重新加载(使用完全干净的MysqL实例)。对于大型数据库,这将花费很长时间。mk- parallel-dump和restore工具可能会更快一些,但是仍然需要一段时间。确保首先在非生产服务器上测试此过程。

解决方法

我有大约20GB的数据库。我需要删除5个表并在其他3个表中删除几列。

删除5个表以释放大约3 GB的空间,而删除其他表中的列则应释放另外8GB的空间。

如何从MySQL回收此空间。

我已经读过转储数据库并将其还原为解决方案之一,但我不确定该如何工作,甚至不确定这是否仅适用于删除整个数据库或仅删除部分数据库?

请提出解决方法。谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。