gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 07:23:56 25 4
gpt4 key购买 nike

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

删除 5 个表并释放大约 3 GB 并删除其他表中的列应该再释放 8GB。

我如何从 MySQL 回收这个空间。

我读过转储数据库并将其恢复为解决方案之一,但我不太确定它是如何工作的,我什至不确定这是否仅适用于删除整个数据库或部分数据库?

请建议如何解决这个问题。谢谢。

最佳答案

从评论来看,听起来您使用的 InnoDB 没有每个表选项的文件。

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

关于sql - 删除表和列后 MySQL 中的可用空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4338645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com