mysql数据删除,使用optimize释放磁盘空间问题

cszyf 2013-09-10 05:45:11

如题了,对数据进行删除delete操作,并没有真正的删除数据,只是标识性的删除,
可以使用optimize方法来释放磁盘空间,

(附注问题:可有其他方法了??)


但在使用optimize释放时,存储文件是被复制一次的,这样在复制过程中,磁盘空间又在成倍增加,知道数据全部被复制完,替换掉原数据,
问题:磁盘空间在释放过程中是在变大,而且是全复制过程,只是不再复制被标识删除的数据,这样过程岂不要限制磁盘空间得是数据文件的一倍大才能进行此操作???
如果存储磁盘接近满了或者满了的话,岂不用此方法释放磁盘空间就不行了呢????

如果遇到此种情况,就是删除数据又确实想真实是释放掉磁盘空间,以来保存新的数据,该怎么处理好??

求各位大神解析,谢谢!
...全文
569 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cszyf 2013-09-13
  • 打赏
  • 举报
回复
引用 2 楼 rucypli 的回复:
线上系统都有磁盘的监控 会报警 不存在磁盘慢的情况
报警了,接下来该怎样处理这种事件呢??
cszyf 2013-09-13
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
导出数据,然后删除表后,再导入。
这样???数据量大有个好几百G的,导出数据岂不要人命啊,还再加上导入?
rucypli 2013-09-10
  • 打赏
  • 举报
回复
另外 1 delete的空间会重复利用 2 optimize锁定表 这在线上基本很难容忍
rucypli 2013-09-10
  • 打赏
  • 举报
回复
线上系统都有磁盘的监控 会报警 不存在磁盘慢的情况
ACMAIN_CHM 2013-09-10
  • 打赏
  • 举报
回复
导出数据,然后删除表后,再导入。

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧