- 问题描述:由于我数据库存储的是流水,之前计算的存三年的量应该在预算容量的70%左右。计算时忘记了把索引加进去,所以当存储3年流水之后发现已经到了95%的预算存储了。
- 处理问题:所以计划清理半年的数据,保存2年半的数据。所以按照索引条件delete了半年的数据,发现空间既然没降下来,经过咨询同事,说需要手动收缩一下表才会降下来。给了一条sql--optimize table tablename。执行下来发现,由于表太大,大于3亿数据。所以执行完sql之后,我就发现出事了,都成了只读。由于压缩表的操作是重建数据文件,先建新的数据文件,再删除旧的数据文件,导致磁盘更加居高不下,主库也变成了只读。主从延迟也越来越多。
- 验证:没什么验证的,其实就是等待压缩完成,主从复制延迟0之后,空间自然降下来了,恢复正常,磁盘空间自然也降下来了
- 总结:压缩表时会新建新的数据文件,当时的磁盘会不降反而上升,大表会产生主从复制延迟,当然delete之后的数据空间其实会复用。
mysql数据库delete之后空间没降下来
最新推荐文章于 2024-04-11 10:41:34 发布