您现在的位置是:首页 > 数码 > 

clickhouse数据库删除数据的五种方式

2025-07-29 10:45:52
clickhouse数据库删除数据的五种方式 文章目录 前言一、通过删除表分区的方式二、执行delete方式三、执行truncate方式四、设置表数据生命周期五、删除数据文件目录总结 前言 clickhouse数据库清理数据的方式很多,每种方式都各有自己的优缺点,请根据实际需要采用适合自己的方式,下面逐一介绍。 一、通过删除表分区

clickhouse数据库删除数据的五种方式

文章目录
  • 前言
  • 一、通过删除表分区的方式
  • 二、执行delete方式
  • 三、执行truncate方式
  • 四、设置表数据生命周期
  • 五、删除数据文件目录
  • 总结


前言

clickhouse数据库清理数据的方式很多,每种方式都各有自己的优缺点,请根据实际需要采用适合自己的方式,下面逐一介绍。

一、通过删除表分区的方式

##查询某表分区
ck001 :) select database,table,partition,name, bytes_on_disk  from system.parts where table=	ck_test1	;┌─database─┬─table┬─partition─┬─name────┬─bytes_on_disk─┐
│ default  │ ck_test1 │ 20202    │ 20202___0 │           221 │
│ default  │ ck_test1 │ 20201    │ 20201_4_4_0 │           22 │
└──────────┴────────────────────┴───────────┴##删除某表分区
ck001 :) alter table ck_test1 drop partition 20201;

二、执行delete方式

该方式为异步执行,并非实时。

## DELETE操作
-- 删除记录
alter table ck_table01 delete where id=	11	;
-- 删除分片表数据
alter table ck_table01 on cluster main_cluster where create_date>< 	202-02-02 15:00:00	;

三、执行truncate方式

truncate适用于删除全表数据的情况,而且效率比DELETE更高。

truncate table _table01;

四、设置表数据生命周期

--设置白鸥ck_table01的TTL为0分钟
create table _table01
(id Int64,name ullable(String),address ullable(String),create_date Date
)
EGIE = MergeTree
PARTITIO BY toYYYYMM(create_date)
ORDER BY id
TTL toDate(create_date)  toIntervalMinute(0)

toIntervalMinute:n分钟过期
toIntervalDay:n天过期
toIntervalMonth:n月过期

五、删除数据文件目录

clickhouse数据目录和元数据目录是分开的,所以删除数据目录文件并不影响表结构。下面以清空全部表数据为例。
1、停止clickhoue数据库

systemctl stop clickhouse-server

2、删除数据文件目录

rm -rf /opt/clickhouse/data/default/

、启动clickhouse数据库

systemctl start clickhouse-server

总结

方法三、五将清理全部数据,请确保数据安全,根据实际场景谨慎应用。

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/shuma/794833.html

相关标签:无
上传时间: 2024-01-10 11:44:31
留言与评论(共有 12 条评论)
本站网友 呀呀操
1分钟前 发表
table
本站网友 峨眉山一日游
19分钟前 发表
00 ; 三
本站网友 北京的公司
14分钟前 发表
删除数据文件目录 rm -rf /opt/clickhouse/data/default/
本站网友 火麻仁的功效与作用
13分钟前 发表
## DELETE操作 -- 删除记录 alter table ck_table01 delete where id= 11 ; -- 删除分片表数据 alter table ck_table01 on cluster main_cluster where create_date>< 202-02-02 15
本站网友 天山雪莲的功效与作用
10分钟前 发表
设置表数据生命周期五
本站网友 妇炎洁
9分钟前 发表
本站网友 ou
19分钟前 发表
truncate table _table01; 四
本站网友 西服定制
23分钟前 发表
设置表数据生命周期五
本站网友 交通管制
29分钟前 发表
address ullable(String)
本站网友 买卖纠纷
16分钟前 发表
1
本站网友 阳萎的治疗
26分钟前 发表
## DELETE操作 -- 删除记录 alter table ck_table01 delete where id= 11 ; -- 删除分片表数据 alter table ck_table01 on cluster main_cluster where create_date>< 202-02-02 15