clickhouse的ttl

TTL

只能在MergeTree系列表中使用,和分区一样,也只能在mergetree系列表中用

列: 当列的时间超过设置的值 -整列数据被删除

表: 当表中的某个写行的时间超过设置的值 -整行会被删除

定义值的存储时间。只能为MergeTree系列表指定。确定值的生存期。

当列中的值过期时,ClickHouse会将其替换为列数据类型的默认值。如果数据部分中的所有列值均已过期,则ClickHouse将从文件系统中的数据部分删除此列。

TTL可以为整个表和每个单独的列设置该子句。表级TTL也可以指定在磁盘和卷之间自动移动数据的逻辑

CREATE TABLE tb_ttl

(

ctime DateTime,

name String

)

ENGINE = MergeTree

PARTITION BY toYYYYMM(ctime)

ORDER BY ctime

TTL ctime + INTERVAL 15 SECOND; -- 设置表过期时间为15秒

insert into tb_ttl values(now() ,'zhangsan') ;

设置列ttl

CREATE TABLE tb_ttl2

(

d DateTime,

a Int TTL d + INTERVAL 1 MONTH,

b Int TTL d + INTERVAL 1 MONTH,

c Int TTL d + INTERVAL 10 SECOND,

e String

)

ENGINE = MergeTree

PARTITION BY toYYYYMM(d)

ORDER BY d;

相关推荐
沐雨风栉3 分钟前
用 Kavita+cpolar 把数字书房装进口袋
服务器·开发语言·数据库·后端·golang
专注echarts研发20年27 分钟前
Qt自定义双击事件实现方案(规避原生双击附带单击问题)
数据库
Linux蓝魔29 分钟前
外网同步所有ubuntu源到内网使用
linux·数据库·ubuntu
墨香幽梦客34 分钟前
系统性能优化技巧:数据库索引、缓存与异步处理的综合应用
数据库·缓存·性能优化
麦麦在写代码1 小时前
Mysql--DDL语句
数据库·mysql
WJ.Polar1 小时前
华为交换机VLAN配置实战指南
网络·智能路由器
白云千载尽1 小时前
a800上gazebo无法使用gpu的问题修复
网络·git·github
mzhan0171 小时前
Linux: netlink 内核网络数据变化通知应用
linux·网络·netlink
2301_781392522 小时前
MySQL格式化数据展示——分页查询
java·数据库·mysql·性能优化
廋到被风吹走2 小时前
gRPC 深度解析:Protocol Buffers、HTTP/2、流式传输与拦截器设计
网络·网络协议·http