RDS for MySQL 删除数据后空间没有减少处理方法
公司的程序和数据库部署在阿里云上,数据库使用的是阿里云的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 删除数据后空间没有减少处理方法的更多相关文章
- sql server删除数据后空间无变化处理方法
删除数据库表 第一步: 执行 delete from doc.115sou.com #删除数据,执行效率低 drop table doc.115sou.com #删除表 ...
- 关于mysql 删除数据后物理空间未释放(转载)
转自 关于mysql 删除数据后物理空间未释放(转载) - NETDATA - 博客园http://www.cnblogs.com/shawnloong/archive/2013/02/07/2908 ...
- Mysql删除数据后磁盘空间未释放的解决办法【转】
转自 Mysql删除数据后,磁盘空间未释放的解决办法 - 今日头条(TouTiao.com)http://toutiao.com/a6303087712678412546/?tt_from=mobil ...
- MySQL删除数据后磁盘空间的释放情况【转】
OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删除操作后在数据文件中留下碎片所致.OPTIMIZE TABLE 是指对表进行优化.如果已经删除 ...
- 关于mysql 删除数据后(.MYD,MYI)物理空间未释放
关于mysql 删除数据后物理空间未释放 OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删除操作后在数据文件中留下碎片所致.OPTIMIZE ...
- 关于mysql 删除数据后物理空间未释放
转载自:http://www.cnblogs.com/shawnloong/archive/2013/02/07/2908911.html OPTIMIZE TABLE 当您的库中删除了大量的数据后, ...
- mysql delete删除记录数据库空间不减少问题解决方法
记得在中学时学计算机时老师就告诉我delete删除记录只是给数据库中的记录加一个删除标识了,这样数据库空间并不是减少了,当时没想这么多,昨天发现一个数据库利用delete 删除之后容量没变,后来百度了 ...
- mysql删除数据后不释放空间问题
如果表的引擎是InnoDB,Delete From 结果后是不会腾出被删除的记录(存储)空间的. 需要执行:optimize table 表名; eg:optimize table eh_user_b ...
- mysql 正确清理binlog 删除数据后磁盘空间的
(3条消息)MySQL删除数据后磁盘空间的释放情况 - ZERO - CSDN博客 https://blog.csdn.net/zero__007/article/details/51404091 m ...
随机推荐
- 各语言最原始数据库访问组件封装DBHelper
源码:https://github.com/easonjim/DBHelper bug提交:https://github.com/easonjim/DBHelper/issues 每个语言放在不同的分 ...
- Http头 Range、Content-Range(http断点续传原理)
HTTP头中一般断点下载时才用到Range和Content-Range实体头,Range用户请求头中,指定第一个字节的位置和最后一个字节的位置,如(Range:200-300)Content-Rang ...
- dedecms安装完成后登录后台出现空白
今天家里的电脑上新装DEDE5.7后台登陆后竟然一片空白经过分析代码,发现登录验证的时候用到了这个函数session_register(我的环境:win7+PHP5.4.3+Apache2.2.22+ ...
- selenium用法 (python)
滑动到指定元素位置 browser.find_element_by_xpath("//font[text()='资产管理部经办人'][1]").location_once_scro ...
- flask的安全注意事项,如何防范XSS、CSRF、JSON安全
参考官方文档:http://docs.jinkan.org/docs/flask/security.html 1.xss Flask 配置 Jinja2 自动转义所有值,除非显式地指明不转义.这就排除 ...
- django如何用邮箱代替用户名登录
有两种方法 方法一,修改username字段,让他跟email字段一模一样,然后把email放到username,email字段里面,username放到firstname或者lastname里面,这 ...
- 同步数据库到Codis代码
同步mysql数据库到codis缓存中 public void syncRule() { // 根据时间戳获取Mycat中规则表数据 logger.info("start ..." ...
- C#控件之TreeView
设置属性 treeView1.HideSelection = false; 当控件没有焦点时仍然突出显示 默认显示色为灰色 设置属性 treeView1.DrawMode = TreeViewD ...
- 版本号控制软件:TortoiseSVN高速上手
百度百科对于SVN的一点解释: TortoiseSVN是Subversion版本号控制系统的一个免费开源client,能够超越时间的管理文件和文件夹.文件保存在中央版本号库,除了能记住文件和文件夹的每 ...
- 每天一个命令 ls
默认建立一个目录时初始硬连接数为2若该目录下有几个目录就会再增加几个连接数 ls -li 查看inode信息 ls -al 查看所有文件信息 ls -lR 查看目录下目录下的文件(递归显示目录下的文件 ...