我们将Oracle 12c Datawarehouse与informatica作为ETL工具。我们几乎没有CDC表用于每小时监控。由于这些表格中的数量增加,我们面临报告查询的性能问题。在CDC表上创建报告索引是否会对CDc表产生负面影响。处理这种情况的最佳方法是什么。
最好的问候
答案 0 :(得分:0)
嗯,不幸的是cdc是一个广泛使用的术语,信息通常指的是其powerexchange实时工具,可能会导致你的问题有些含糊不清。
通过cdc表,您是指每小时运行一次查询的源表,以查看小时的增量?如果是这样,那么您的问题与Informatica的行为无关,并且需要对表格进行索引以优化此查询,并考虑到对源系统的日常事务的任何性能影响(oracle分析) 。
如果cdc表是指每小时批处理的目标表,那么您需要权衡提高报表查询性能的好处和减慢每小时作业的弊端(不能批量处理)在带有索引的表上加载,任何oracle插入查询都会在表中有更多索引的情况下运行得更慢...您可以通过每次每小时作业运行时删除索引并在最后使用前置和后置查询重建它来解决此问题。在网上的一天,我从报告的角度看不出你将如何逃脱这一点。
当然这取决于你的每小时工作的工作方式(即它只是插入还是插入更新和删除)。
对报告和信息批量的更广泛描述将有所帮助