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

 更新时间:2024年03月05日 10:27:18   作者:小马穿云  
clickhouse数据库清理数据的方式很多,每种方式都各有自己的优缺点,请根据实际需要采用适合自己的方式,本文将逐一给大家介绍,并通过代码示例讲解的非常详细,需要的朋友可以参考下

前言

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 │ 202302    │ 202302_3_3_0 │           221 │
│ default  │ ck_test1 │ 202301    │ 202301_4_4_0 │           232 │
└──────────┴────────────────────┴───────────┴

##删除某表分区
ck001 :) alter table ck_test1 drop partition 202301;

二、执行delete方式

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

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

三、执行truncate方式

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

truncate table default.ck_table01;

四、设置表数据生命周期

--设置白鸥ck_table01的TTL为30分钟
create table default.ck_table01
(
    id Int64,
    name Nullable(String),
    address Nullable(String),
    create_date Date
)
ENGINE = MergeTree
PARTITION BY toYYYYMM(create_date)
ORDER BY id
TTL toDate(create_date) + toIntervalMinute(30)

toIntervalMinute:n分钟过期

toIntervalDay:n天过期

toIntervalMonth:n月过期

五、删除数据文件目录

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

1、停止clickhoue数据库

systemctl stop clickhouse-server

2、删除数据文件目录

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

3、启动clickhouse数据库

systemctl start clickhouse-server

总结

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

到此这篇关于clickhouse数据库删除数据的五种方式的文章就介绍到这了,更多相关clickhouse删除数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Sybase数据库sa密码丢失后解决方法

    Sybase数据库sa密码丢失后解决方法

    sybase sa密码丢失的解决方法
    2008-04-04
  • 得物基于StarRocks的OLAP需求实践详解

    得物基于StarRocks的OLAP需求实践详解

    这篇文章主要为大家介绍了得物基于StarRocks的OLAP需求实践详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • SQLyog下载、安装超详细教程(亲测永久有效)

    SQLyog下载、安装超详细教程(亲测永久有效)

    SQLyog能够帮助用户轻松管理自己的MYSQL数据库,SQLyog中文版支持多种数据格式导出,可以快速帮助用户备份和恢复数据,还能够快速地运行SQL脚本文件,为用户的使用提供便捷
    2021-04-04
  • Linux的HBASE数据库集群部署方法

    Linux的HBASE数据库集群部署方法

    HBase是一种针对海量数据的key-value型NoSQL数据库,本文详细介绍了在Linux系统下HBase的安装与配置步骤,本文给大家介绍Linux的HBASE数据库集群部署方法,感兴趣的朋友一起看看吧
    2024-10-10
  • 浅谈关系型数据库中的约束及应用场景

    浅谈关系型数据库中的约束及应用场景

    这篇文章主要介绍了浅谈关系型数据库中的约束及应用场景,关系型数据库是一种广泛应用的数据库类型,它的核心是基于关系模型的结构化数据存储和管理,在关系型数据库中,约束是一种重要的概念,它可以帮助我们保证数据的完整性和一致性,需要的朋友可以参考下
    2023-07-07
  • Linux下Navicat15激活的详细步骤

    Linux下Navicat15激活的详细步骤

    这篇文章主要介绍了Linux下激活Navicat15的详细步骤,经过测试Navicat 15.0.8版本可激活,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • 通过navicat导入sql文件的操作方法

    通过navicat导入sql文件的操作方法

    在很多项目当中都有sql文件导入到MySQL数据库的需要,因为有sql数据库文件,这个项目才能正常运行起来,那么现在就来学习一下怎么导入sql文件到navicat里面吧,需要的朋友可以参考下
    2024-03-03
  • Navicat Premium 15无限试用注册表修改的方法详解

    Navicat Premium 15无限试用注册表修改的方法详解

    这篇文章主要介绍了Navicat Premium 15无限试用注册表修改的方法详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • MySQL与Oracle差异比较之三 函数

    MySQL与Oracle差异比较之三 函数

    这篇文章主要介绍了MySQL与Oracle差异比较之三 函数,需要的朋友可以参考下
    2017-04-04
  • 通过DBeaver连接Phoenix操作hbase的方法

    通过DBeaver连接Phoenix操作hbase的方法

    DBeaver 可通过 JDBC 连接到数据库,可以支持几乎所有的数据库产品,本文介绍常用一种通用数据库工具Dbeaver,通过DBeaver连接Phoenix操作hbase的操作,需要的朋友跟随小编一起看看吧
    2021-11-11

最新评论