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;

相关推荐
wenzhangli77 小时前
Scene与Group机制答疑:深入理解ooderAI Agent协作框架
网络
nvd117 小时前
深入分析:Pytest异步测试中的数据库会话事件循环问题
数据库·pytest
_0347 小时前
ensp-mpls2
网络
appearappear7 小时前
如何安全批量更新数据库某个字段
数据库
云川之下7 小时前
【网络】广播地址工作原理(arp不受广播地址影响)
网络
数字芯片实验室7 小时前
IP验证最终回归到时序级建模
网络·网络协议·tcp/ip·fpga开发
·云扬·8 小时前
MySQL 常见存储引擎详解及面试高频考点
数据库·mysql·面试
羊小猪~~8 小时前
【QT】--文件操作
前端·数据库·c++·后端·qt·qt6.3
kida_yuan8 小时前
【Linux】文件系统与 fsck.ext4 修复 - 我踩过的坑与总结
linux·运维·网络
coding-fun8 小时前
电子发票批量提取导出合并助手
大数据·数据库