首页 / 帖子
RDS的数据存储满了,想删掉一些数据,但是删了存储反而变大了,怎么办?

MySQL数据库,在阿里云的RDS上面,数据库容量太大,想删掉一些,但是删掉了,数据量反而变大了,请问如何释放数据磁盘空间,谢谢!

1个答案
陈蹊
发布于:2016-10-14 14:15

Innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致InnoDB数据库文件不断增长。

如果在创建数据库的时候设置innodb_file_per_table=1,这样InnoDB会对每个表创建一个数据文件,然后只需要运行OPTIMIZE TABLE 命令就可以释放所有已经删除的磁盘空间。


RDS的话,需要用RDS的控制台修改,RDS需要批量操作表的话,参考RDS的帮助文档,刚开始我也是没找到批量操作表,一个一个优化,太慢了。
https://help.aliyun.com/knowledge_detail/41720.html