公司的程序和数据库部署在阿里云上,数据库使用的是阿里云的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. 为树莓派(Raspberry pi 2)安装raspbian系统,并用windows自带的远程桌面连接登录

    准备工作 树莓派2开发板(保险起见,请装上散热片和风扇): 手机充电器和数据线(输出电压为5V,输出电流为1~2A,电流视开发板上所接附件多少而定): class10 sd小卡,还需要卡架或读卡器: ...

  2. EasyMvc入门教程-高级控件说明(15)方位布局控件

    现在很多管理后台都流行全屏切割的布局,大体结构如下图所示: 大家注意到没,整个布局是五个部分组成:“东西南北中”,EasyMvc对应的实现的代码为: @(Html.Q().Layout().TextC ...

  3. 【转】如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

    如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等   你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并 ...

  4. SVG图片背景透明

    今天在调整网页的时候,将logo以原有直接贴代码形式,改为加载文件. 其实真正的目的是做SEO.上次SEO交流后得出 结论:核心在于内容的本身的优化.信噪比很重要.也就是有效信息需要占文章的主要内容, ...

  5. Linux中ping不通外网

    在linux中ping www.baidu.com 无法ping通 需要修改vi /etc/resolv.conf 增加如下内容: nameserver 114.114.114.114 nameser ...

  6. 模拟利器Mockito

    16.3.1  模拟测试概述 目前支持Java语言的Mock测试工具有EasyMock.JMock.Mockito.MockCreator.Mockrunner.MockMaker等,Mockito是 ...

  7. apache默认路径

    读启动文件 /etc/inid.d/httpd 默认web路径 /var/www/html inux下Apache PHP MYSQL 默认安装路径 apache:如果采用RPM包安装,安装路径应在 ...

  8. HDU 5301(Buildings-贪心构造)

    Buildings Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Tota ...

  9. js 中文校验并过滤掉中文

      js中文校验并过滤掉中文 CreateTime--2017年9月6日09:10:19 Author:Marydon 思路: 1.判断字符串中是否包含中文: 2.存在中文时,过滤掉. 举例: var ...

  10. 【BIEE】数据透视表格第一列添加序号

    现在有这么一个需求,需要在数据透视图的表格前面条件一列序号,作为行号,如下图: 那么实现这个如何实现呢? 只需要在BIEE分析编辑界面,新建一列,然后公式定义为:RCOUNT(RSUM(1)) ,保存 ...