在Oracle EDW -Data Mart中保留复合唯一索引的最佳做法是避免重复的吗?它会影响ETL数据负载性能吗?请提供您对此主题的想法。获得ETL负载SLA的其他替代方法是什么?
每个具有索引的表中的每个插入将导致索引更新,从而导致IO并将其放慢一点。因此,将索引的索引加载到表中,是否唯一会慢一点。您可以删除该索引,加载然后再次创建。它将减少索引碎片化,通常会在较大的负载下更快。
我很惊讶地在事实表上看到一个唯一的索引。通常,那里没有太多的唯一性,并且在一般数据中,仓库不可分割和复制数据。
这完全取决于您的情况。如果您可以使用ETL来避免不需要的重复,而不是使用索引。如果唯一目的是数据完整性/一致性,则不要创建此索引。索引变得巨大,因此最好对您的查询有用。