ClickHouse | TTL策略

背景描述

近期因CK中query_log表空间占用过大问题,导致磁盘使用率很高,通过查阅资料发现可以通过TTL策略进行清理。同时补充了一些相关的查询SQL,以及注意事项(供参考)。

TTL策略
go 复制代码
alter table system.表名 modify TTL 日期字段 + INTERVAL 天数 DAY;

设置ttl策略的表必须有日期字段,DAY可调整为月、年。

注意事项
  • CK服务启停后,设置TTL策略的表会自动物理化,生成 "表名_序列"(query_log_0)的临时表

  • 设置TTL策略时,需要先确认表的占用情况,以及物理磁盘占用情况

    • 假设180天之前的表数据占用50G,清理时磁盘空间会增加约100G的占用空间,会慢慢自动释放,周期约1H

    • 建议在清理表占用空间时,如果数据无需可直接执行truncate

  • 执行truncate表释放空间时,如果表数据超过50G,无法执行。需要先清理表数据(drop表分区),小于50G时可执行truncate

  • CK命令行执行SQL脚本时不能有换行,同时以分号结尾

  • CK命令行脚本执行超时时间300秒

其他相关SQL
# 查看系统表占用大小
go 复制代码
select table, formatReadableSize(sum(bytes)) as size from system.parts where  active group by table;
# 查看单表占用大小
go 复制代码
select formatReadableSize(sum(bytes)) as size from system.parts where table = '表名' ;
# 查看表分区
go 复制代码
select * from system.parts where table = '表名' ;
# 删除表分区
go 复制代码
alter table system.表名 drop partition 分区维度;
# 清理表数据
go 复制代码
truncate table system.表名;
相关推荐
ClickHouseDB15 小时前
TPC-H 成本不到一分钱:ClickHouse Cloud 对比 Snowflake、Databricks、BigQuery 和 Redshift
clickhouse
隔壁阿布都4 天前
ClickHouse完整指南
服务器·数据库·clickhouse
数据库小学妹4 天前
MySQL做报表太慢?引入ClickHouse列式存储,同一个查询快240倍
mysql·clickhouse·列式存储·分析型数据库·向量化执行·olap数据库·mysql对比
ClickHouseDB8 天前
推出 ClickHouse Cloud 中的多阶段分布式查询执行
分布式·clickhouse
weixin_3077791310 天前
Linux下ClickHouse数据仓库故障系统化诊断脚本
linux·运维·clickhouse·自动化·数据库开发
SelectDB技术团队11 天前
Agent 场景动态 JSON 性能拆解:Apache Doris 比 ClickHouse 快 7 倍、比 Elasticsearch 快 2 倍
数据库·clickhouse·elasticsearch·json·apache·日志分析·apache doris
xhtdj1 个月前
智源大会圆桌大模型没有终局具身智能可能是中国的 AlphaGo 时刻
人工智能·clickhouse·安全·动态规划
xhtdj1 个月前
技术采用曲线回望二十年
运维·数据库·人工智能·clickhouse·动态规划
Taerge01101 个月前
Doris, StarRocks, ClickHouse, Hologres, ES 对比,选型建议
大数据·clickhouse·elasticsearch
海南java第二人1 个月前
ClickHouse 表引擎完全指南:从 MergeTree 到集成引擎的选型实践
clickhouse