| 定义 | ALTER TABLE t ADD PROJECTION p (SELECT … GROUP BY … ORDER BY …) |
|---|---|
| 物化 | MATERIALIZE PROJECTION 对已有数据回填;新写入自动维护 |
| 开关 | optimize_use_projections 默认开启,可 SET 关闭做对照测试 |
示例
示例
ALTER TABLE events
ADD PROJECTION proj_user_day
(
SELECT user_id, toDate(ts) AS d, count() AS cnt
GROUP BY user_id, d
);
ALTER TABLE events MATERIALIZE PROJECTION proj_user_day;
SELECT user_id, toDate(ts) AS d, count()
FROM events
GROUP BY user_id, d;投影本质是用写入与存储换查询速度;用 EXPLAIN 确认查询确实使用了投影,而不是走了原表。