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;

相关推荐
DemonAvenger8 小时前
Redis缓存穿透、击穿与雪崩:从问题剖析到实战解决方案
数据库·redis·性能优化
whn19778 小时前
达梦数据库的整体负载变化查看
java·开发语言·数据库
fulufulucode8 小时前
【网络协议】HTTPS相关知识详细梳理
网络·网络协议
倔强的石头_8 小时前
性能飙升!KingbaseES V9R2C13 Windows安装与优化特性深度实测
数据库
梦里不知身是客118 小时前
Doris 中主键模型的读时合并模式
数据库·sql·linq
GanGuaGua8 小时前
MySQL:复合查询
数据库·mysql·oracle
gugugu.8 小时前
MySQL事务深度解析:从ACID到MVCC的实现原理
数据库·mysql·oracle
yenggd8 小时前
华为SRv6 BE跨域配置案例
运维·网络·计算机网络·华为
DechinPhy8 小时前
使用Python免费合并PDF文件
开发语言·数据库·python·mysql·pdf
LCG米8 小时前
基于LoRa的远距离低功耗农业传感器网络设计与实现(SX1278+STM32L071)
网络·stm32·php