公司的程序和数据库部署在阿里云上,数据库使用的是阿里云的RDS,这天,经理在开发群中发了一个信息:

您的RDS实例rm********0oq的磁盘在过去一周平均使用率已超过80.%,建议您对实例规格进行升级,以免磁盘资源不足,影响业务运行。详情请您查看您阿里云注册邮箱中的邮件。

1、首先我在Navicat上远程delete阿里云RDS数据表中的数据,

找到对应的表,然后delete 删除部分数据,单个表中的数据达五千万条,所以操作起来很笨重。(懊恼啊,为什么当初没有做分表操作。。)

按照产品经理的原话是“近期的任务不要删除,把以前的数据删掉!”

so,切割表的想法就打消了。还好我们的id是自增的,根据id删除了前面的数据。(每次也就几十万)

在复杂一些的就是根据任务字段删除数据。

删了一个小时,MD累死了,才删了几百万条数据,这时候我看了一下RDS的磁盘空间。

!!!!!!!!!!!!!!

MD,我奔溃啊,磁盘空间快满了,什么鬼啊!

吓得我赶紧喝了口82年的拉菲。

我打开百度(全球最大的中文搜索引擎),搜了一下本文的题目“MySQL 删除数据后空间没有减少处理方法”,给出了方法:

https://help.aliyun.com/knowledge_detail/41720.html

我就迅速的登上了DMS,找到了表维护--》优化。然后开始庆幸,幸好及时发现,不然就满了。。满了。满了!真的是满了。。。。。。。在我优化的时候我看了一下实例状态:

你TM在逗我?

越优化越满了?什么情况啊。。。。。。。。。

再次打开了全球最大的中文搜索引擎。

给出下面的解决方案,使用命令行:

OPTIMIZE TABLE mission_picture

这个命令执行时间比较长,可能是数据量较大的原因:但是结果并不理想,

执行结果失败
note:Table does not support optimize, doing recreate + analyze instead
error:The table 'mission_picture' is full
status:Operation failed

查询资料,解决方案有下面几个:

1、mysql本身的机制,delete后空间不会自动回收的,需要用optimize table回收。

2、alter table 表 ENGINE = 'InnoDB';

analyze table 表;

最后解决方法是:

在DMS中的sql执行第一个方法。执行结束,依然提示“Table does not support optimize, doing recreate + analyze instead”

但是碎片率已经释放了。

算是完成了。。

RDS for MySQL 删除数据后空间没有减少处理方法的更多相关文章

  1. sql server删除数据后空间无变化处理方法

    删除数据库表 第一步: 执行 delete from doc.115sou.com        #删除数据,执行效率低 drop table doc.115sou.com          #删除表 ...

  2. 关于mysql 删除数据后物理空间未释放(转载)

    转自 关于mysql 删除数据后物理空间未释放(转载) - NETDATA - 博客园http://www.cnblogs.com/shawnloong/archive/2013/02/07/2908 ...

  3. Mysql删除数据后磁盘空间未释放的解决办法【转】

    转自 Mysql删除数据后,磁盘空间未释放的解决办法 - 今日头条(TouTiao.com)http://toutiao.com/a6303087712678412546/?tt_from=mobil ...

  4. MySQL删除数据后磁盘空间的释放情况【转】

    OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删除操作后在数据文件中留下碎片所致.OPTIMIZE TABLE 是指对表进行优化.如果已经删除 ...

  5. 关于mysql 删除数据后(.MYD,MYI)物理空间未释放

    关于mysql 删除数据后物理空间未释放 OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删除操作后在数据文件中留下碎片所致.OPTIMIZE ...

  6. 关于mysql 删除数据后物理空间未释放

    转载自:http://www.cnblogs.com/shawnloong/archive/2013/02/07/2908911.html OPTIMIZE TABLE 当您的库中删除了大量的数据后, ...

  7. mysql delete删除记录数据库空间不减少问题解决方法

    记得在中学时学计算机时老师就告诉我delete删除记录只是给数据库中的记录加一个删除标识了,这样数据库空间并不是减少了,当时没想这么多,昨天发现一个数据库利用delete 删除之后容量没变,后来百度了 ...

  8. mysql删除数据后不释放空间问题

    如果表的引擎是InnoDB,Delete From 结果后是不会腾出被删除的记录(存储)空间的. 需要执行:optimize table 表名; eg:optimize table eh_user_b ...

  9. mysql 正确清理binlog 删除数据后磁盘空间的

    (3条消息)MySQL删除数据后磁盘空间的释放情况 - ZERO - CSDN博客 https://blog.csdn.net/zero__007/article/details/51404091 m ...

随机推荐

  1. SQL-基础学习4--聚集函数:AVG(),COUNT(),MAX(),MIN(),SUM();聚集不同值:DISTINCT

    第九课 9.1 聚集函数(对某些行运行的函数,计算并返回一个值) 我们经常需要汇总数据而不用把它们实际检索出来,为此SQL提供了专门的函数.使用这些函数,SQL查询可用于检索数据,以便分析和报表生成. ...

  2. hdu1708(C++)

    这个题目明确说了不涉及大数,假设第i个为b[i]: b[0]=s1; b[1]=s2; b[3]=s1+s2; b[4]=s1+2*s2; b[5]=2*s1+3*s2: b[6]=3*s1+5*s2 ...

  3. Mac Pro 系统自带python路径

    /usr/local/Frameworks/Python.framework/Versions/2.7/bin

  4. 危急,不要任意让站点记住password自己主动登陆!

    为了方便用户登录,差点儿全部的站点都实现了"记住password"."自己主动登陆"这样似乎人性化的功能. 我也非常喜欢这个功能,由于我自己的脑子实在是讨厌记东 ...

  5. MetaQ简单实用demo

    Metaq的生产者代码 import java.io.BufferedReader; import java.io.InputStreamReader; import com.taobao.metam ...

  6. TensorFlow笔记四:从生成和保存模型 -> 调用使用模型

    TensorFlow常用的示例一般都是生成模型和测试模型写在一起,每次更换测试数据都要重新训练,过于麻烦, 以下采用先生成并保存本地模型,然后后续程序调用测试. 示例一:线性回归预测 make.py ...

  7. WinForm启动时接收参数

    1 默认的Main函数,修改如下: static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [ST ...

  8. 性能测试脚本开发(LR.NET控件)

    性能测试过程中,最耗费经历的就是编写性能测试脚本的过程,在大部分的测试工具中都是采用录制的方式,通过录制产生脚本,然后根据需要进行修改,以及参数化.有些时候为了能够完成某一个功能的脚本,需要将录制下来 ...

  9. Cocos2d-x学习笔记(四) 布景层的加入移除

    布景层类也就是CCLayer类,每一个游戏场景中都能够有非常多层,每一层负责各自的任务.显示地图.显示人物等.同一时候层还是一个容器,能够放入文本.图片和菜单.构成游戏中一个个UI.这次将学习在场景中 ...

  10. An internal error occurred Exception caught during execution of commit command

    在工程目录下找到 .git 文件夹 ,找到里面的 index.lock 文件,删掉再commit