开发者社区 问答 正文

为什么RDS使用delete删除文件后磁盘空间未释放?

已解决

为什么RDS使用delete删除文件后磁盘空间未释放?

展开
收起
阿里云服务支持 2022-11-29 16:08:45 381 分享 版权
1 条回答
写回答
取消 提交回答
  • 官方回答
    1. delete语句只会对记录做标记删除,delete标记后的空间在业务重新插入到指定的Page时可以复用,空间本身不会直接回收;

    2. 如果需要将delete后的表的空间进行回收,需要使用optimize的方式来回收,optimize操作会锁表,optimize的过程中会产生临时的新表、索引,会占用空间,执行完成时会删除原表,建议业务低峰时执行。

    另考虑在业务低峰期收集下表的统计信息。

    注:[$Table_Name]为表名。执行命令期间将对全表加只读锁,建议在业务低峰期执行。 analyze table [$Table_Name];

    2022-11-29 16:53:32
    赞同 展开评论