| 常用写法 | toYYYYMM(ts) 按月、toDate(ts) 按天、tuple(region, toYYYYMM(ts)) 组合 |
|---|---|
| 收益 | 分区裁剪减少扫描;DROP PARTITION 秒级清理历史数据 |
| 代价 | 分区数量过多会让元数据、合并与查询开销上升,按月或按天即可 |
示例
示例
-- 查看分区及大小
SELECT partition, rows, formatReadableSize(bytes_on_disk) AS size
FROM system.parts
WHERE table = 'events' AND active
ORDER BY partition;
-- 按分区删除历史数据
ALTER TABLE events DROP PARTITION '202301';按月分区适合保留期长的表,按天分区适合保留期短或需要按天重算的表;两者可以组合成 tuple 键。