本文介绍了TTL表相关的ALTER TABLE语法。
变更TTL表的定时任务
ALTER TABLE tbl_name
local_partition_alter_options
local_partition_alter_options:
ALLOCATE LOCAL PARTITION
| EXPIRE LOCAL PARTITION [local_partition_name]
| REMOVE LOCAL PARTITIONING
| local_partition_definition
local_partition_definition:
LOCAL PARTITION BY RANGE (column_name)
[STARTWITH 'yyyy-MM-dd']
INTERVAL interval_count MONTH
[EXPIRE AFTER expire_after_count]
[PRE ALLOCATE pre_allocate_count]
[PIVOTDATE pivotdate_func]
[DISABLE SCHEDULE]
pivotdate_func:
NOW()
| DATE_ADD(...)
| DATE_SUB(...)创建新的物理时间分区
此命令多次调用不会无限制创建新分区,只会创建预定时间内的新分区。
ALTER TABLE t_order ALLOCATE LOCAL PARTITION;删除过期的物理时间分区
此命令多次调用不会无限制删除已有分区,只会删除过期分区。
- 可以指定物理时间分区名,可通过information_schema.local_partitions获取
ALTER TABLE t_order EXPIRE LOCAL PARTITION p20210401; - 不指定分区名时,删除所有已过期的分区
ALTER TABLE t_order EXPIRE LOCAL PARTITION;说明 未失效分区不允许删除,会报错。
TTL表转换成普通表
ALTER TABLE t_order REMOVE LOCAL PARTITIONING;说明 TTL表转换成普通表需要进行数据搬迁,请在业务低峰期进行操作。
普通表转换成TTL表
ALTER TABLE t_order
LOCAL PARTITION BY RANGE (gmt_modified)
STARTWITH '2021-01-01'
INTERVAL 1 MONTH
EXPIRE AFTER 12
PRE ALLOCATE 6;说明 普通表转换成TTL表需要进行数据搬迁,请在业务低峰期进行操作。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




