clickhouse ReplacingMergeTree

ReplacingMergeTree

这个引擎可以删除重复的数据,但是不保证数据的绝对唯一。

设计之初是为了节约空间把相同的数据合并,不是为了做唯一校验。

而且合并行为是后天控制的,没有强唯一

建表写入

sql 复制代码
create table learning.ReplacingMergeTree_table(
   id UInt8,
   info String,
   timestamp DateTime
) engine = ReplacingMergeTree(timestamp)
order by id;
sql 复制代码
insert into learning.ReplacingMergeTree_table values (1,'js','2026-05-05 00:10:10');
insert into learning.ReplacingMergeTree_table values (1,'js','2026-05-04 00:10:10');
insert into learning.ReplacingMergeTree_table values (1,'js','2026-05-04 00:10:10');

查询后可以看到 数据不会直接合并

命令合并

为了演示强行执行合并命令

sql 复制代码
optimize table learning.ReplacingMergeTree_table final

执行完后可以看到 之保留了 timestamp 最大的那一条,因为我们设计的是 按照 timestamp 来去重 engine = ReplacingMergeTree(timestamp)

相关推荐
HLC++13 小时前
Linux的进程间通信
android·linux·服务器
java_logo16 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
爱笑鱼16 小时前
Binder(二):AIDL 生成的 Proxy、Stub 和 Parcel 到底在做什么?
android
爱笑鱼17 小时前
Binder(一):一次方法调用,究竟怎样跨进程执行?
android
壮哥_icon18 小时前
【Android 系统开发】使用 BAT 脚本高效自动化管理 /system/priv-app/ 系统应用(安装与卸载)
android·运维·自动化
用户693717500138419 小时前
Claude Code终端日志Token占用实测:一个过滤器砍掉60%-90%
android·前端·后端
蝉蜕日记19 小时前
AccumuPDF高级版 v2.57 | 视图文转换PDF,合并分割压缩
android·智能手机·pdf·生活·软件需求
吐了啊取名字太难19 小时前
美颜系统AI修图本地跑并支持Mac、win、安卓、iOS不卡顿
android·人工智能·windows·数码相机·mac·ai编程
阿pin21 小时前
Android随笔-Retrofit
android·retrofit
想取一个与众不同的名字好难21 小时前
安卓自定义颜色选择器
android