在Oracle EDW - data mart中的事实数据表上保留复合惟一索引是避免重复的最佳实践吗?它会影响ETL数据加载性能吗?请提供您对此主题的看法。为ETL负载获得SLA的其他替代方法有哪些?
发布于 2014-01-27 11:52:24
对具有索引的表的每次插入都会导致索引更新,从而导致IO并使其变慢一点。因此,无论索引是否唯一,加载到表中的速度都会稍慢一些。您可以删除该索引,加载它,然后重新创建它。它将减少索引碎片,并且通常在大负载时会更快。
我很惊讶地看到事实表上有一个唯一的索引。通常不需要太多的唯一性,一般情况下,数据仓库会对数据进行反规范化和复制。
这完全取决于你的情况。如果可以使用ETL来避免不需要的重复,那么就这样做,而不是使用索引。如果唯一的目的是数据完整性/一致性,则不要创建此索引。索引变得很大,所以它们最好对您的查询有用。
https://stackoverflow.com/questions/21368875
复制相似问题