当前位置: 首页 > 面试题库 >

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

孟意致
2023-03-14
问题内容

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

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

如何从MySQL回收此空间。

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

请提出解决方法。谢谢。


问题答案:

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

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



 类似资料:
  • 问题内容: 如何删除表格中行和列之间的多余空间。 我尝试过更改表格以及tr和td的边距,填充和各种边框属性。 我希望所有图片都紧挨着看起来像一张大图片。 我该如何解决? CSS HTML 问题答案: 将此CSS重置添加到您的CSS代码中: 它将有效地重置CSS,摆脱填充和边距。

  • 问题内容: 如何删除表格中行和列之间的多余空间。 我尝试过更改表格以及tr和td的边距,填充和各种边框属性。 我希望所有图片都紧挨着看起来像一张大图片。 我该如何解决? CSS HTML 问题答案: 将此CSS重置添加到您的CSS代码中: 它将有效地重置CSS,摆脱填充和边距。

  • 问题内容: 范围:两个表。创建新的顾客时,他们会将有关他们的一些信息存储到第二张表中(这也使用触发器完成,它可以按预期工作)。这是我的表结构和关系的示例。 表1-> 顾客 表2-> patron_info 管理员可以管理顾客。当他们选择移走顾客时,将顾客从 桌子1 移开。此时, 表2 没有任何反应。 我只是想创建一个触发器,以便在表1的项目已删除时从表2中删除。这是我尝试过的… 最初,我尝试删除触

  • 问题内容: 如何摆脱列表项之间的空白?我正在努力使图像彼此相邻。即使我将样式设置为,它们仍然分开。 CSS HTML 问题答案: 2014年9月1日更新 在现代浏览器中,flex-box是执行此操作的首选方法。就像这样简单: 在这里查看JSFiddle 。 对于旧版浏览器的支持,请参考下面的其他选项,尽管稍微复杂一些,但它们仍然不错。 尽管每个其他答案至少提供了一个好的解决方案,但似乎没有一个提供

  • 问题内容: 给出以下列表: 我需要一个删除空引用的帮助器类。就像是: SomeHelper.removeNullReference(list); 这样列表就只包含“ s1”,“ s2”,“ s4”,“ s4”(非空引用)。 我应该使用什么来满足此要求? 问题答案:

  • 问题内容: 有域对象: 有时,通过代码从列表中删除图片后,它会在图片列表中产生空项。 看起来,GORM不会更新关联表中的idx字段。我无法复制它,但是在生产服务器上却得到了几次 在我看来,这可能是二级缓存和一致修改的问题。怎么预防呢? Grails 2.4.5 MariaDB 问题答案: 我认为问题可能取决于您在类上设置的级联删除行为。首先,打电话后 你必须打电话。 但是,如果问题仍然存在,则可以