真空sql?缩小文件大小

时间:2012-07-29 03:58:57

标签: mysql sql

由于我在一个表中插入了很多行的错误。我删除了行但我的数据库是> 1gb而不是200mb。我如何真空接种?我试图优化表格。它没有缩小尺寸。我是否坚持使用这个巨大的mysql文件?

1 个答案:

答案 0 :(得分:3)

创建一个相同的表格结构,select * into newtable from oldtable然后drop oldtable然后alter table newtable rename oldtable。最快的跨平台方式。

(在mysql中你可以使用rename table newtable to oldtable,但这不是标准的sql。)

有一点需要注意,这只适用于mysql被设置为每个表一个文件,这是默认的AFAIK,但它也可以设置为一个文件中的所有表。如果以这种方式设置,则必须克隆整个数据库,这是一项更为重要的任务。如果您有一个“ibdata”文件,则所有表都在一个文件中,您可能应该看到this answer