1

在 Oracle EDW 中的事实表上保留复合唯一索引是否是一种最佳实践 - 避免重复的数据集市?它会影响 ETL 数据加载性能吗?请提供您对此主题的看法。获得 ETL 负载的 SLA 的其他替代方法是什么?

4

1 回答 1

1

每次插入到具有索引的表中都会导致该索引被更新,从而导致 IO 并减慢它的速度。因此,无论是否唯一加载到具有索引的表中都会慢一些。您可以删除该索引,加载然后再次创建它。它将减少索引碎片,并且通常在大负载下会更快。

我很惊讶在事实表上看到唯一索引。通常那里不需要那么多唯一性,并且通常数据仓库会非规范化和复制数据。

这一切都取决于你的情况。如果您可以使用 ETL 来避免不希望的重复,请不要使用索引。如果唯一目的是数据完整性/一致性,请不要创建此索引。索引变得很大,因此它们更好地对您的查询有用。

于 2014-01-27T03:52:24.080 回答