【发布时间】:2020-01-30 20:22:11
【问题描述】:
大家好,
我目前正在处理包含从 mysql 数据库中删除数据的任务。
现在我只删除了一张大约有 8000 万条记录的表中的数据。
删除数据前的表大小为 40 GB,其中 20 GB 为数据大小,20 GB 为索引大小。当我使用mysql过程从表中批量删除10000个数据时,表大小增加了。
以下是我执行的步骤
- 执行删除操作前表大小为 40 GB(20 GB 数据,20 GB 索引)
- 删除 650 万条记录后,使用过程一次 10000 条,大小增加 18 GB(9 GB 数据,9 GB 索引)
- 在此之后,通过参考其他堆栈溢出答案,我执行了以下步骤
- 优化表
- 碎片整理表
- 导出表 sql,删除现有表并重新导入
- 导出数据库 sql 并将其导入新 RDS
但是,仍然没有成功。表格大小没有减少,而是每次都在增加。
- 我安装了 mysql 版本 5.6.34
- mysql_file_per_table 已启用
- RDS 日志已启用
【问题讨论】:
-
@RaymondNijland 我已经尝试了解决方案中提到的所有步骤,除了角色工具但没有成功
-
考虑联系亚马逊,他们可能已经更改了 MySQL 源代码并删除了该功能并重新编译..
-
@RaymondNijland 是的,打算这样做
-
您是否碰巧删除了事务日志? stackoverflow.com/questions/3394132/… 这样也可能是罪魁祸首。
标签: mysql sql database amazon-rds