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;

相关推荐
dragoooon342 分钟前
[Linux网络基础——Lesson7.「传输层协议 UDP 与 TCP」]
linux·网络·udp
黑客思维者5 分钟前
智能配电系统代码审查详细设计与实战体系:从缺陷预防到架构守护
网络·架构·代码复审·代码评审
San30.8 分钟前
从 Mobile First 到 AI First:用 Python 和大模型让数据库“开口说话”
数据库·人工智能·python
古城小栈11 分钟前
PostgreSQL 【vs】 MySQL
数据库·mysql·postgresql
安全系统学习12 分钟前
网络安全漏洞之React 框架分析
数据库·安全·web安全·网络安全
Xの哲學13 分钟前
Linux 分段卸载技术深度剖析
linux·服务器·网络·架构·边缘计算
我科绝伦(Huanhuan Zhou)15 分钟前
Oracle RAC表空间从本地目录迁移至ASM磁盘组的两种实现方案
数据库·oracle
生产队队长15 分钟前
Database:Navicat 连接 Oracle失败:logon denied
数据库·oracle
Misnice15 分钟前
MySQL 和 PostgreSQL 的区别
数据库·mysql·postgresql
YJlio17 分钟前
AI赋能编程语言:探索AI与开发的深度结合
数据库·人工智能·电脑