就我而言,我需要将一些维度表加载到ClickHouse中以与事实表连接。
例如,要结合订单(事实)表的买方(维度)表:
select
order.id,
buyer.name
from order
left join buyer
on order.buyer_id = buyer.id
通常,我将创建一个engine = Join
表。但是我的某些维度表太大,无法容纳在RAM中,因此我选择MergeTree引擎作为解决方案。
我们知道,ClickHouse会自动切断在查询中指定了分区键的分区数据,并使用稀疏索引快速定位数据。
我的问题是
id
用作分区键,还是用作维表的
通常会使用id
键吗?