首页/数据/数仓建模速查/ClickHouse 分区设计:按月或按日
湖仓与引擎63 条

ClickHouse 分区设计:按月或按日

分区粒度影响合并与查询裁剪:常见按月分区,数据量大且按日查询时按天分区;分区过细会产生大量 part 拖慢合并。

数仓建模速查数据更新于 2026-10-12
常用toYYYYMM(月)
按日数据量大时
风险分区过细
监控part 数量

分区与TTL

分区与TTL
CREATE TABLE dw.trade_order
(
  dt Date,
  order_id String,
  pay_amt Decimal(18,2)
)
ENGINE = MergeTree
PARTITION BY toYYYYMM(dt)
ORDER BY (dt, order_id)
TTL dt + INTERVAL 12 MONTH;
分区键用高基数列(如订单号)会导致分区爆炸,写入与查询都会异常。

易错点

  • 用高基数列做分区键,part 数量失控

数据来源与参考

  • ClickHouse 官方文档:Custom Partitioning Key
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌