首页/数据/数仓建模速查/当前标志与最新版本定位
本包目录(97 条)

当前标志与最新版本定位

用 is_current 或远期 end_date 标识当前行;查询最新维度先过滤当前标志,避免按自然键 group by 取最大版本的昂贵写法。

数仓建模速查数据更新于 2026-10-12
标志is_current 0/1
约束每自然键至多一条 1
验数定期校验唯一性

当前行唯一性校验

当前行唯一性校验
SELECT user_id, COUNT(1) c FROM dim_user
WHERE is_current = 1 GROUP BY user_id HAVING c > 1;
关闭旧行与插入新行要在同一事务完成,否则出现零条或两条当前行。

易错点

  • 更新与插入分离执行,中途失败产生重复当前行
  • 只依赖 end_date 判断当前,NULL 导致索引失效

数据来源与参考

  • 拉链表实现实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌