分析师只需记住的结论
- 持久分页跑完 → 产生快取表,可在后续 SQL 里直接
FROM "分頁名"引用。 - Agent 在 Execute 时也可能产生快取(多见于后台步骤);两种快取在侧边栏 Cached 都能 查看 SQL。
- Source Run 用在你引用了上游分页、想按依赖顺序重跑整条链——是加速与重跑手段,不是「分析合不合格」的门槛。
- 一次性 JOIN 若口径清楚,可以直接跑——不必为了「看起来很专业」硬拆很多步。
两种快取:persist vs agent
| persist 快取 | agent 快取 | |
|---|---|---|
| 来源 | 你(或 Agent)储存并执行的持久 SQL 分页 | Agent Execute 过程中物化的中间结果 |
| 查看 SQL | 分页内 SQL | 系统记录的查询 SQL |
| Source Run | 支援 | 不参与 |
| 右键 | Run、Source Run、Open Tab、Lineage 等 | mainly 查看 / 删除 / SELECT 100 |
分析师日常:
- 怀疑口径 → Cached → 查看 SQL
- 改了上游分页 → 对下游分页 Source Run 或手动重跑上游
- 快取过期或重启后消失 → 重新执行对应分页即可(见 USER_GUIDE §7.4 注意事项)
什么时候值得拆 persist 分页
值得拆:
- 同一「清洗逻辑」会被 3 次以上 引用
- 中间表很大,重跑成本高,且口径已 在 Plan 写死
- 你要给同事看 「这步到底滤了什么」 作为审查点
不必硬拆:
- 两表 join 条件已在 Plan 说清,且 SQL 一屏能读完
- 只是 Quick 里试一下 filter
原则: 分析正确性与可审性优先;拆步是为了重跑、除错、共用,不是仪式。
Source Run 是什么(白话版)
当你的 SQL 写了 FROM "clean_orders",而 clean_orders 来自另一个持久分页时,Source Run 会:
- 找出所有上游依赖
- 按顺序执行上游分页
- 最后执行你这一页
适合:上游改过、下游要更新,或你不确定上游是否还是最新。
Lineage(血缘图) 可视觉化谁依赖谁——周会解释「这个数从哪几步来」时有用。
与 Execute / Report 的关系
- Execute 中 Agent 可能建立多个 SQL 分页与快取;Progress → Steps 可对照查询步骤。
- Report 写的是结论;SQL + 快取是证据。追问时两边都要能对上。
- 删除快取会更新对话内的 Query Step Ledger 状态;Agent 之后应重新查询,而不是假设旧表还在。
侧栏 Cached Data 父列可拖到外部 Agent,指定目前工作区的全部可用快取。Agent 先列快取清单与栏位,再按需求查来源 SQL 或预览指定结果;集合依探索当下状态更新,不受侧栏搜寻筛选影响。个别 Cache 表仍维持原本的结果参照。Cached Data 父列拖回内建聊天不插 chip、不进 @,也不提供 Add to chat。