TDSQL Boundless TTL_TASK_HISTORY

SYS.TTL_TASK_HISTORY 记录 TTL(Time To Live)过期数据清理任务的历史信息,用于审计、问题排查和执行效果统计。当 SYS.TTL_TASK 中的任务完成后(状态为 finished 或 cancelled),系统会通过任务回收(GC)流程将完成的任务从 SYS.TTL_TASK 迁移到 SYS.TTL_TASK_HISTORY 中,同时释放 SYS.TTL_TASK 的唯一键占用,允。

相关产品
TDSQL Boundless 产品页,含版本规格、价格与购买入口。

一、功能

SYS.TTL_TASK_HISTORY 不记录进行中的任务(waiting 或 running),仅保留已终态的任务记录。

二、适用版本

TDSQL Boundless V21.6.4.0及以上版本。

三、字段说明

字段名 类型 描述
task_id bigint unsigned 任务唯一标识,对应 SYS.TTL_TASK 中的 task_id,NOT NULL。
table_schema varchar(64) 数据库名,NOT NULL。
table_name varchar(64) 表名,NOT NULL。
partition_name varchar(64) 分区名。非分区表为空字符串。
tindex_id bigint unsigned 表的存储索引标识 ID,DEFAULT 0。
expire_threshold datetime 过期阈值时间点。任务下发时计算,下发后固定不变。
schema_version bigint unsigned 下发任务时的 schema 版本号。
batch_size int unsigned 单批删除行数。
status ENUM 任务终态。finished:已完成。cancelled:已取消。
owner_id varchar(64) 执行节点 ID。
scheduler_id varchar(64) 下发任务的调度节点 ID。
strategy ENUM('scan_then_delete','single_statement','archive_then_delete') 实际执行策略,详细请参见 执行策略说明。
on_conflict enum('STOP','REPLACE') 如果配置了归档表,归档任务遇到主键/唯一键冲突的处理方式。
deleted_rows bigint unsigned 累计删除行数,DEFAULT 0。
error_message text 错误或取消原因。
created_at datetime 任务创建时间,NOT NULL。
started_at datetime 任务开始执行时间。
finished_at datetime 任务结束时间。

四、索引说明

索引名 类型 字段 用途
PRIMARY 主键 task_id 保证 task_id 唯一。
idx_table_finished 普通索引 table_schema, table_name, partition_name, finished_at 按表名查询历史记录,定位失败任务。
idx_finished_at 普通索引 finished_at 按结束时间范围清理或统计。

注意:说明:

注意:与 SYS.TTL_TASK 不同,SYS.TTL_TASK_HISTORY 没有唯一约束 uk_table_partition。同一张表(或分区)的历史任务可以同时存在多条记录,不限制活跃任务的数量。

五、相关系统表

系统表/视图 说明
SYS.TTL_TASK 当前活跃任务及等待回收的终态任务。
INFORMATION_SCHEMA.TTL_TABLES 已启用 TTL 的表配置信息,包括 TTL 时间列、保留时长、调度间隔、归档表等。

六、查询指定表的任务历史

tdsql> SELECT -> task_id, status, strategy, deleted_rows, -> error_message, created_at, finished_at -> FROM SYS.TTL_TASK_HISTORY -> WHERE table_schema = 'mydb' -> AND table_name = 'operation_log' -> ORDER BY finished_at DESC -> LIMIT 5\\G*************************** 1. row *************************** task_id: 1024 status: finished strategy: scan_then_delete deleted_rows: 8500 error_message: NULL created_at: 2026-07-08 15:25:00 finished_at: 2026-07-08 15:30:45*************************** 2. row *************************** task_id: 1015 status: finished strategy: scan_then_delete deleted_rows: 9200 error_message: NULL created_at: 2026-07-08 14:25:00 finished_at: 2026-07-08 14:30:30*************************** 3. row *************************** task_id: 1005 status: cancelled strategy: scan_then_delete deleted_rows: 1200 error_message: schema_version changed during execution, task cancelled created_at: 2026-07-08 13:25:00 finished_at: 2026-07-08 13:28:103 rows in set (0.00 sec)

七、统计最近7天的 TTL 清理量

tdsql> SELECT -> table_schema, table_name, -> COUNT(*) AS total_tasks, -> SUM(deleted_rows) AS total_deleted_rows, -> AVG(deleted_rows) AS avg_deleted_per_task -> FROM SYS.TTL_TASK_HISTORY -> WHERE finished_at >= DATE_SUB(NOW(), INTERVAL 7 DAY) -> AND status = 'finished' -> GROUP BY table_schema, table_name -> ORDER BY total_deleted_rows DESC -> LIMIT 3\\G*************************** 1. row *************************** table_schema: mydb table_name: event_log total_tasks: 168total_deleted_rows: 8400000avg_deleted_per_task: 50000.0000*************************** 2. row *************************** table_schema: mydb table_name: operation_log total_tasks: 24total_deleted_rows: 204000avg_deleted_per_task: 8500.00002 rows in set (0.01 sec)

八、查看已取消的任务及原因

tdsql> SELECT task_id, table_schema, table_name, error_message, finished_at -> FROM SYS.TTL_TASK_HISTORY -> WHERE status = 'cancelled' -> AND finished_at >= DATE_SUB(NOW(), INTERVAL 1 DAY) -> ORDER BY finished_at DESC -> LIMIT 3\\G*************************** 1. row *************************** task_id: 1060 table_schema: mydb table_name: orders error_message: archive insert failed: target table not found finished_at: 2026-07-08 15:10:20*************************** 2. row *************************** task_id: 1055 table_schema: mydb table_name: logs error_message: ttl_enable is OFF, task cancelled finished_at: 2026-07-08 14:50:052 rows in set (0.00 sec)

赞 (0)
上一篇 4天前
下一篇 4天前