首页 > 解决方案 > 是否允许更新事实表的一行?

问题描述

我很困惑。是推荐更新事实表中的一行,还是一般不这样做?

我读过它会减慢这个过程,因为更新比插入慢。其他人说这并不像某些人想象的那么糟糕。

是否有针对 2021 年最先进的 Ram/cpu/... 的建议?

标签: database-designdata-warehousefact

解决方案


通常,事实记录是即时的,不需要更新,因此如果您经常需要更新事实记录,那么您的设计可能存在问题。

事实更新合理的两种主要情况是:

  • 积累快照事实
  • 数据修复,这显然是一种不常见的活动

从技术角度来看,更新比插入慢,但它们是否“太慢”取决于您的具体情况 - 尽管考虑到这些天可用的技术,我怀疑在 99% 的情况下是否必须进行更新是一个无法克服的问题。

如果确实需要定期更新事实表,则应确保它具有单个 PK 列,而不是由许多维度键组成的复合 PK,因为在更新中引用它比使用复合键快得多。


推荐阅读