You need to enable JavaScript to run this app.
文档中心
数据库工作台

数据库工作台

复制全文
下载 pdf
清表工单
创建清表工单
复制全文
下载 pdf
创建清表工单
数据清表工单主要用于删除或移除超大数据的表,并支持安全地删除数据,即在指定时间内恢复已删除的数据。本文介绍如何在数据库工作台 DBW 创建清表工单。​
背景信息​
对于超大表,如几 T,甚至几十 T 的数据表,客户期望能够在不删除数据的情况下,快速将表移除;或者在保留表或不保留表的情况下,快速删除表数据;以及在误删除数据的情况下,还可以恢复数据。​
​
客户需求​
​
需求分析​
​
不删除数据,快速移除表​
​
类似于 Rename table。​
目前 DBW 中已提供了无锁结构变更工单和有锁结构变更工单,使用结构变更工单可以执行 Rename、Truncate 和 Drop 操作,但是导致以下两个问题。​
  • 如果将 Truncate 和 Drop 操作,分解为先执行 Delete,再执行 DDL,对于超大表,执行效率很低,可能需要几天的时间,并且在执行期间会产生大量的 binlog,甚至会导致主从延迟。​
  • 如果是直接执行原生的 Truncate 和 Drop 操作,对于超大表,也要执行很久。DDL 严重时会产生大颗粒度的锁,如 MDL 锁,这样会威胁数据库的稳定运行。​
删除数据​
保留表​
类似于 Truncate table。​
​
​
不保留表​
类似于 Drop table。​
​
​
鉴于以上的需求分析,需要重新设计一个新的工单类型,即清表工单来实现客户需求。清表工单在不影响数据库的稳定运行的前提下,既能实现 Rename、Truncate 和 Drop 的操作效果,又能兼顾效率,且提供安全删除的选择。​
清表工单执行逻辑​
DBW 清表工单旨在不影响数据库的稳定运行的前提下,实现 Rename、Truncate 和 Drop 的操作效果,又兼顾效率,并且能够安全删除数据,即在误删除数据的情况下,可以恢复被误删除的数据。​
​
功能​
说明​
执行逻辑​
修改表名​
执行 Rename table 操作,不删除数据,仅修改数据库表的名称。​
工单创建者输入重命名后的表名,DBW 将源表进行重命名。此功能不清理表数据。​
清空表​
快速删除源表内数据,保留源表,类似于 TRUNCATE 操作。​
DBW 在执行清空表或删除表的操作时,会创建一张临时表,然后将删除的数据暂存在临时表中。临时表的名称为 {源 TableName}_{工单 ID 的后六位}_{三位随机字符串}_{rds_del}。​
在创建清表工单时,工单创建人可以通过历史数据保留策略,设置临时表的保留时长(0 ~ 72 小时)。在临时表保留时长内,均可恢复已删除的数据。​
删除表​
快速删除源表及表内数据,类似于 Drop table 操作。​
​
​
清表工单和数据清理归档工单的区别​
DBW 的清表工单和数据清理归档工单虽然都涉及删除数据,但目的和应用场景等都存在差异,具体如下表所示。​
​
区别类型​
清表工单​
数据清理归档工单​
执行对象​
表(对超大表,较普通执行方法效率更高)。​
表中的数据。​
目的​
​
  • 保留数据的情况下,快速移除表。​
  • 删除数据,但可以保留表或不保留表。​
删除表中符合条件的数据,保留表。通过清理表数据,可以实现表存储空间的重复利用,释放磁盘可用空间,并提高系统性能。​
应用场景​
适用于以整张表为单位,移除整张表,或删除整张表的数据。​
用于移除某张表中不常被访问的数据,或过期的数据等。​
​
前提条件​
  • 已创建云数据库 veDB MySQL 版实例。详细操作,请参见创建实例。​
  • 已添加为 DBW 角色的用户。详细操作,请参见添加用户。​
  • 已授予添加为 DBW 角色用户相关权限。详细操作,请参见权限管理。​
注意事项​
  • 仅支持对有 SQL 变更权限的数据库对象创建清表工单。​
  • DBW 在执行清表工单的清空表或删除表操作时,会创建一张临时表,临时表的名称为 {源 TableName}_{工单 ID 的后六位}_{三位随机字符串}_{rds_del}。​
  • 临时表中存放了已删除的数据,您可以设置临时表的保留时长(0 ~ 72 小时)。在临时表保留时长内,均可恢复临时表内的数据。​
  • 在临时表保留期间,并未释放数据库的存储空间,因此请您及时关注数据库的空间使用情况,以防空间使用率过高,影响业务的稳定运行。​
  • DBW 对清表工单中的源表大小及执行时长均无限制。​
  • 偏移时间以任务执行时间(时区为 UTC + 8)开始计算。​
  • 任务开始执行与配置时间可能有 1~2 分钟的误差。​
操作步骤​
  1. 登录 DBW 控制台。​
  1. 在顶部菜单栏,选择目标地域。​
  1. 在左侧导航栏,选择数据管理 > 工单列表。​
  1. 在工单列表页面,单击创建工单。​
  • ​
    修改表名
    清空表
    删除表
    ​
    在弹出的对话框中,选择清表工单 > 修改表名。​
    ​
    类别​
    参数​
    说明​
    基本信息​
    创建人​
    默认为当前登录的账号,且不支持修改。​
    ​
    工单标题​
    (可选)自定义工单标题。工单标题的长度不能超过 200 个字符。​
    ​
    工单备注​
    (可选)自定义您的工单备注,建议和您的业务相关,详实的备注信息方便后续维护。工单备注的长度不能超过 200 个字符。​
    库表选择​
    数据库类型​
    选择云数据库 veDB MySQL 版。​
    ​
    实例​
    从下拉列表中选择目标实例。​
    如果下拉列表中没有目标实例,请确认是否为目标实例开了安全管控,以及当前账号是否有目标实例的管理权限。​
    ​
    数据库​
    从下拉列表中选择目标数据库。​
    ​
    源表​
    从下拉列表中选择目标数据表。​
    清理配置​
    操作类型​
    默认为修改表名,且不支持修改,表示执行 Rename table 操作,不删除数据,仅修改数据库表的名称。​
    ​
    重命名为​
    输入重命名后的表名,数据库表的命名规则如下。​
    • 表名称在数据库内唯一。​
    • 长度为 1~64 个字符,且不能为空。​
    • 以字母开头,以字母或数字结尾。​
    • 由小写字母、数字、下划线(_)或中划线(-)组成。​
    策略配置​
    执行方式​
    如果归档类型选择不重复,则需要配置以下信息。​
    • 审批后自动执行:当前工单审批通过后,自动执行当前工单任务。​
    • 审批后手动执行:当前工单审批通过后,需要您手动执行当前工单任务。​
    • 审批后定时执行:当前工单审批通过后,在指定的时间点执行当前工单任务。需配置任务开始执行时间。​
    ​
    执行开始时间​
    如果执行方式选择审批后定时执行,则需要配置任务启动的时间,即执行工单的时间。单击时间图标,按需选择任务执行的时间点。​
    ​
    审批流程​
    审批流程当前包含一级审批、二级审批和三级审批,各节点的审批人分别为在开启实例安全管控时设置的 DBA、Owner 和 Admin。​
    语句预览​
    SQL 语句​
    DBW 根据上面配置的信息,如数据库、源表、操作类型等信息,自动生成待执行的 SQL 语句。如果确认 SQL 语句有误,需修改上面的配置信息,直至生成的 SQL 语句无误。​
    ​
    ​
    ​
  • 例如工单创建人希望在 2025-10-16 号凌晨 02:00 清空数据库 dbw1 中表 employee1112 的数据,并保留此表,并且希望删除的数据能够保留 48 小时。则根据此需求创建的清表工单如下图所示。在此示例的 SQL 预览中,employees1112_{ticket_id}_cdj_rds_del 即为临时表。​
  • ​​​
  1. 单击提交工单。​
最近更新时间:2026.07.29 10:44:54
这个页面对您有帮助吗?
有用
有用
无用
无用