clickhouse 使用global in 优化 in查询

文章目录

      • in例子
      • [使用global in](#使用global in)

in例子

bash 复制代码
SELECT uniq(UserID) FROM distributed_table
WHERE CounterID = 101500 
AND UserID IN (SELECT UserID FROM distributed_table WHERE CounterID = 34)

对于in 查询来说,本来查询的就是分布式表,假设这个表有100 个分片,in 查询就要查询100次,再加上外面也是查的分布式表,那就是100*100 次

bash 复制代码
SELECT UserID FROM distributed_table WHERE CounterID = 34

使用global in

bash 复制代码
SELECT uniq(UserID) FROM distributed_table
WHERE CounterID = 101500 
AND UserID  global IN (SELECT UserID FROM distributed_table WHERE CounterID = 34)

global in 实现

ClickHouse 会从右表的所有分片中读取完整数据,然后收集到的右表数据会被广播到查询涉及的每个分片上。

相当于右表里的只查询一次,大大减少处理时间

相关推荐
4t4run8 天前
1、clickhouse 安装
数据库·clickhouse
JackSparrow4149 天前
使用Elasticsearch代替数据库like以加快查询的各种技术方案+实现细节
大数据·clickhouse·elk·elasticsearch·搜索引擎·postgresql·全文检索
梦想与想象-广州大智汇16 天前
MySQL 同步数据到 ClickHouse 方案对比分析
数据库·mysql·clickhouse
Smile_25422041817 天前
clickhouse日志疯涨问题
linux·运维·服务器·clickhouse
计算机魔术师17 天前
【技术硬核 | 存储】ClickHouse 原理与 Langfuse 存储实践:当 LLM Trace 爆炸时,PG 还扛得住吗?
人工智能·clickhouse·工程实践·sbti·职场焦虑
fire-flyer20 天前
ClickHouse系列(九):慢查询、内存 OOM 与稳定性治理
android·clickhouse
fire-flyer20 天前
ClickHouse系列(十):生产架构与最佳实践总结
clickhouse·架构
fire-flyer21 天前
ClickHouse系列(八):ClickHouse 的 UPDATE / DELETE 正确姿势
大数据·数据库·clickhouse
fire-flyer21 天前
ClickHouse系列(七):Materialized View 与多分辨率 Rollup 设计
大数据·数据库·clickhouse·架构
fire-flyer22 天前
ClickHouse系列(二):MergeTree 家族详解
大数据·数据库·clickhouse