公司用的阿里云的RDS数据库

经常磁盘空间超过80%

后来发现有一个表message数据就30万,却占用了65G空间,非常不正常。

后来发现有一个命令,可以释放表空间。

命令如下

optimize table message;


等了几分钟执行完了,表空间占用了680M

磁盘空间就下降到11%


太有效果了。


这个表数据写的非常频繁,但是每隔一个小时会将数据转移到另外一个表。

所以最好每天释放一下,我就写了一个脚本。

message_release.sh

*部分是机密,内容如下:


#!/bin/bash


mysql -u xx* -pxx_123** -h rdsxh5***.mysql.rds.aliyuncs.com -e "use dts;optimize table message"


写个任务计划,定期执行


#释放message表空间

30 23 * * * /manage/message_release.sh