我们有Oracle 12c数据仓库和informatica作为ETL工具。我们有很少的CDC表用于每小时的监控。由于这些表中容量的增加,我们面临着报告查询的性能问题。在CDC表上创建报告索引是否会对CDc表产生不利影响。处理这种情况的最好方法是什么?
诚挚的问候
发布于 2017-01-29 18:27:01
不幸的是,cdc是informatica的一个广泛使用的术语,通常指的是它的powerexchange实时工具,这可能会在您的问题中造成一些歧义。
您所说的cdc表是指每小时运行一次查询以查看小时增量的源表吗?如果是这样,那么您的问题与Informatica的行为无关,并且需要对索引表进行整体分析,以优化此查询,并考虑对源系统日常事务的任何性能影响(oracle分析)。
如果您通过cdc表引用每小时批处理的目标表,那么您将需要权衡提高报告查询性能的好处和减慢每小时作业的缺点(您不能在具有索引的表上进行批量加载,并且表的索引越多,任何oracle insert查询的运行速度就会越慢……您可以通过在每次每小时作业运行时删除索引,并在结束时使用pre和post查询重新构建索引来解决此问题,但从在线日期间的报告角度来看,我看不出您将如何做到这一点)
当然,这完全取决于每小时作业的工作方式(例如,它是只做插入,还是做插入、更新和删除)。
对报告和informatica批处理进行更广泛的描述会有所帮助
https://stackoverflow.com/questions/41888854
复制相似问题