You need to enable JavaScript to run this app.
文档中心
云数据库 MySQL 版

云数据库 MySQL 版

复制全文
下载 pdf
稳定性
异步删除大表
复制全文
下载 pdf
异步删除大表
本文介绍如何使用云数据库 MySQL 版的异步删除大表功能。
背景
当某张表的数据文件很大时,如果采取同步的操作的方式删除表,会对实例运行带来一定影响,使 IO 发生抖动。
功能介绍
云数据库 MySQL 版支持异步删除大表。开启异步删除大表功能后,删除大表的操作会由内核自动异步完成,降低删除大表操作对实例性能产生的波动。用户在删除表后也无需进行其他操作,剩余工作由内核自动完成。异步删除大表时,会先把表的数据文件重命名为临时文件,然后后台线程平缓地 truncate 掉临时文件。
适用场景
该功能适用于需要删除大表,且对性能波动比较敏感的业务场景。
支持版本
  • MySQL 5.7 版本,内核小版本为 MySQL 5.7.32_20241015 及以上。
  • MySQL 8.0 版本,内核小版本为 MySQL 8.0.32_20240215 及以上。
  • MySQL 8.4 版本,内核小版本为 MySQL 8.4.7_20260415 及以上。
说明
您可通过查看实例信息查看实例的内核小版本。如您实例的内核小版本未在受支持的内核小版本范围内,您可手动升级实例内核小版本
使用说明
异步删除大表功能默认关闭。可通过设置可修改参数 loose_innodb_data_file_logic_droploose_innodb_data_file_logic_drop_max_size 即可使用此功能。
  • 修改 loose_innodb_data_file_logic_dropON 可开启此功能。
  • 修改loose_innodb_data_file_logic_drop_max_size 可用于指定异步删除大表时在后台每次 truncate 文件的大小。
说明
云数据库 MySQL 版后台 truncate 的频率为 5 次/秒。如配置 loose_innodb_data_file_logic_drop_max_size 为 1024 MiB,理论上每秒会 truncate 5 GiB 数据文件。
关于 loose_innodb_data_file_logic_droploose_innodb_data_file_logic_drop_max_size 的更多信息,请参见下表。
参数名
参数说明
loose_innodb_data_file_logic_drop
是否开启异步清理大表。取值:
  • OFF:关闭(默认)。
  • ON:开启。
说明
该参数在修改后无需重启实例即可生效。
loose_innodb_data_file_logic_drop_max_size
异步删除大表时在后台每次 truncate 文件的大小。取值范围为 128~2048,默认值为 1024,单位为 MiB。
说明
  • 该参数在修改后无需重启实例即可生效。
  • 云数据库 MySQL 版当前配置的 truncate 频率为 5 次/秒,异步删除大表的理论速度 = loose_innodb_data_file_logic_drop_max_size *5。
操作步骤
通过设置可修改参数 loose_innodb_data_file_logic_droploose_innodb_data_file_logic_drop_max_size 即可使用此功能。云数据库 MySQL 版支持通过控制台和 Open API 两种方式修改参数。
  • 通过控制台修改
  • 通过 Open API 修改
最近更新时间:2026.05.28 11:52:20
这个页面对您有帮助吗?
有用
有用
无用
无用