| 方案 A | 状态事件行(时间戳) |
|---|---|
| 方案 B | 累积快照里程碑列 |
| 禁忌 | 原地覆盖历史状态 |
状态事件表
状态事件表
CREATE TABLE fact_order_status_event (
order_id string, status string,
status_ts timestamp, operator string
);选型看问题:要「每个状态停留多久」用事件行;要「当前进度与耗时」用累积快照。
订单/工单状态若需历史轨迹:用状态时间戳行(每状态一行)或累积快照;单列状态原地覆盖会丢失历史,无法做状态演进分析。
| 方案 A | 状态事件行(时间戳) |
|---|---|
| 方案 B | 累积快照里程碑列 |
| 禁忌 | 原地覆盖历史状态 |
CREATE TABLE fact_order_status_event (
order_id string, status string,
status_ts timestamp, operator string
);