mysql库文件的清理问题

来源:百度知道 编辑:UC知道 时间:2024/06/16 11:23:53
一个MYD文件太大了,占用空间,又慢。于是我用delete语句清除了ID 1-5000000的记录,但是现在这个MYD文件还是占用那么大的空间,ID 1-5000000还是存在,只是变成空记录了,我应该如何优化一下?请高人指点。

delete table TableName;
TRUNCATE TABLE TableName;
你的表表空间文件没有发生变化,因为InnoDB不会自动收缩表空间文件尺寸,但是实际空间却是释放出来了。
再执行OPTIMIZE TABLE TableName;
实际空间和文件尺寸都释放了
OPTIMIZE命令只对MyISAM, BDB和InnoDB表起作用
还有种变态的方法:
mysql> ALTER TABLE TableName ENGINE = InnoDB;
貌似也可以。

你也许应该试试Truncate语句:

TRUNCATE TABLE TableName