结构 · 2026 年 5 月 2 日 · 10 分钟

宽表好问,星型好管。问数站在哪一边

公开路线对比里,有人用预置宽表把多表问题变成单表问题。问起来顺。管起来难:口径一变,宽表要重刷。星型模型管起来顺,问起来要走对关联路径。问数站哪边,是治理选择题,不是品味题。

高频卡片适合宽表

门店日成交这种每天都问的,宽表能少踩 JOIN。

指标平台适合星型

指标多、维度多、要复用时,宽表会爆炸。

不要两边各发明一套销售额

选边可以混用,口径必须唯一。两套销售额会比选错模型更糟。

一次完整的问法可以先写成下面这样:

从订单事实表连门店维度,按城市汇总昨天已支付金额。

落到语句上,草稿常常是:

SELECT d.city, SUM(f.pay_amount) AS gmv
FROM fct_orders f
JOIN dim_store d ON d.store_id = f.store_id
WHERE f.pay_time >= CURRENT_DATE - INTERVAL '1 day'
  AND f.pay_time < CURRENT_DATE
  AND f.pay_status = 'paid'
GROUP BY d.city;

星型并不高贵,宽表并不投机。谁能保住唯一口径,问数就站谁那边。

结构是地图,不是附录

公开实现文章把列出表、描述字段、抽样行、再执行写成四件工具。工具顺序不能倒。执行放第一位,等于闭眼过马路。

结构链接的失败,十之八九不是语法。是找错表、找错列、找错枚举值。注释、别名、示例值,是地图上的注记。注记质量决定问数上限。有人只补三十个核心字段的含义,可用程度就明显上升。这是最不时髦、也最管用的工作。

语义层是把指标、维度、关联路径写成中间层。个人没有引擎时,用字典和卡片冒充。没有这一层,每次提问都在重新发明销售额。宽表好问、星型好管,选边可以,口径必须唯一。

读完这一辑可以做什么

给十个核心字段写注释:时间、金额、状态、用户、地区、类目,外加四个你会用到的。注释里写计算、单位、示例值。写完再去问数,少猜一轮。

选边可以混用。两套销售额不可以同时叫销售额。

WUJI问数

个人笔记站。记录用中文把业务问题变成可核对查询的方法与实践。

本站为个人非经营性网站,内容开放阅读。文中示例仅供学习,执行任何数据库操作前请自行核对。

笔记关于隐私说明使用说明ICP备案查询