更新时间:2026-02-05 gmt 08:00
异步删除大表-j9九游会登录
功能介绍
该功能主要用于在删除包含大量数据的表时,实现平滑删除,以避免io的抖动。
开启该功能后,当通过drop table命令删除表时,系统会先将原数据库对应的.ibd文件重命名为一个新的临时文件,并立即返回操作成功的消息。系统随后会在后台分批次对该临时文件进行truncate处理,每次truncate的文件大小由innodb_rds_data_file_purge_max_size参数控制。
约束限制
- 该功能仅支持rds for mysql 8.0.32及更高版本。
- 由于删除操作变为异步处理,磁盘空间的释放将比功能启用前需要更长的时间。具体所需时间与表大小和单次truncate的文件大小、truncate周期相关。
参数介绍
|
参数名称 |
是否需要重启 |
默认值 |
允许值 |
描述 |
|---|---|---|---|---|
|
innodb_rds_data_file_purge |
否 |
off |
on,off |
是否启用后台异步清理大文件策略。 |
|
innodb_rds_data_file_purge_interval |
否 |
100 |
0~10000 |
异步清理线程调度的周期,单位:ms。 |
|
innodb_rds_data_file_purge_max_size |
否 |
32 |
16~1073741824 |
异步清理线程每个周期清理的文件大小,单位:mb。 |
使用如下命令删除表:
drop table table_name;
使用如下命令查看清理进度:
select * from information_schema.rds_innodb_purge_files;
-------- --------------------- --------------------- --------------- --------------------- -------------- | log_id | start_time | original_path | original_size | temporary_path | current_size | -------- --------------------- --------------------- --------------- --------------------- -------------- | 76 | 2025-11-11 21:20:19 | ./file_purge/t1.ibd | 146800640 | ./#fp_1762772250_9 | 46137344 |
|
参数 |
说明 |
|---|---|
|
start_time |
清理操作的开始时间。 |
|
original_path |
表数据文件的原始路径。 |
|
original_size |
表数据文件的原始大小,单位:byte。 |
|
temporary_path |
清理中的临时文件路径。 |
|
current_size |
待清理的剩余临时文件大小,单位:byte。 |
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨