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删除数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Clickhouse数据表、数据分区partition的基本操作代码

    Clickhouse数据表、数据分区partition的基本操作代码

    clickhouse的分区是指将数据按照分区键进行划分,每个分区可以包含多个数据块,这篇文章主要介绍了Clickhouse数据表、数据分区partition的基本操作代码,需要的朋友可以参考下
    2023-11-11
  • Navicat导入海量Excel数据到数据库的流程步骤

    Navicat导入海量Excel数据到数据库的流程步骤

    Navicat 是一款功能强大的数据库管理工具,支持多种数据库系统,它提供便捷的数据导入功能,可以将 Excel 数据导入到数据库中,本文给大家介绍了Navicat导入海量Excel数据到数据库的流程步骤,文章通过图文介绍的非常详细,需要的朋友可以参考下
    2025-02-02
  • mybatis映射XML文件详解及实例

    mybatis映射XML文件详解及实例

    这篇文章主要介绍了mybatis映射XML文件详解及实例的相关资料,需要的朋友可以参考下
    2017-03-03
  • 关于navicat事务自动提交问题

    关于navicat事务自动提交问题

    这篇文章主要介绍了关于navicat事务自动提交问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 通过navicat导入sql文件的操作方法

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

    在很多项目当中都有sql文件导入到MySQL数据库的需要,因为有sql数据库文件,这个项目才能正常运行起来,那么现在就来学习一下怎么导入sql文件到navicat里面吧,需要的朋友可以参考下
    2024-03-03
  • Hadoop2.X/YARN环境搭建--CentOS7.0 JDK配置

    Hadoop2.X/YARN环境搭建--CentOS7.0 JDK配置

    在Centos中,进行配置jdk的环境,这个还是折腾了我听挺久的。特别是在一次配置中,导致后来我的root用户无法登录,并且用其他普通用户登录,使用su - root切换到root用户,都无法使用ls这一些普通的命令。由于没有权限,各种更改,都没辙。各种麻烦啊~
    2014-08-08
  • SQL like子句的另一种实现方法(速度比like快)

    SQL like子句的另一种实现方法(速度比like快)

    这篇文章主要介绍了SQL like子句的另一种实现方法(速度比like快),需要的朋友可以参考下
    2015-09-09
  • 使用Navicat备份数据库MySQL、PostGreSQL等的详细步骤

    使用Navicat备份数据库MySQL、PostGreSQL等的详细步骤

    Navicat支持多种数据库系统,提供手动与自动备份功能,可定期执行以确保数据安全,适用于防止数据丢失、业务快速恢复及合规需求,简化了传统命令行操作,本文通过图文给大家介绍的非常详细,需要的朋友可以参考下
    2025-08-08
  • IDEA连接达梦数据库的详细步骤

    IDEA连接达梦数据库的详细步骤

    这篇文章主要给大家介绍了在 IntelliJ IDEA 中连接达梦数据库的详细步骤,文章通过图片介绍的流程步骤非常详细,感兴趣的同学跟着小编一起来看看吧
    2023-08-08
  • 开源 5 款超好用的数据库 GUI 带你玩转 MongoDB、Redis、SQL 数据库(推荐)

    开源 5 款超好用的数据库 GUI 带你玩转 MongoDB、Redis、SQL 数据库(推荐)

    这篇文章主要介绍了开源 5 款超好用的数据库 GUI 带你玩转 MongoDB、Redis、SQL 数据库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07

最新评论