有时跑得快,有时慢的地图

时间:2016-06-06 06:46:56

标签: oracle informatica

我建立了一个包含这个逻辑的地图:

SOURCES -> SORTER -> AGG(FIRST BY GROUP) -> 2 LOOKUPS -> FILTER -> TARGET

现在,当我手动运行源生成的查询时,使用LEFT JOIN添加2个查找并进行排序,查询大约需要30秒。

我在DEV环境中运行相同的地图尝试调试它,但突然间它在2分钟内运行(连接到与PRODUCTION相同的连接,并且地图是trunc /插入)

我查看了本次会议的历史记录,其运行时间介于6分钟到小时之间,每天都有相同的数据量!

我尝试过添加统计信息/增加提交间隔但似乎没有任何帮助。

有什么建议吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

首先,来自源(带有查找)的查询在30秒内返回数据并不意味着您将获得30秒的所有数据。 SQL客户端工具仅显示前50到500条记录。提取完整的数据集可能需要更多时间。 现在,我没有看到很多缓慢的原因。这是我的想法 -

  • 您是否发现任何缓慢的模式?喜欢在月末或月开始等?我所能看到的主要是源和查找(如果表)数据可能是缓慢的原因。请注意,当表大小快速变化或表未进行分析或表经历大量删除/加载操作时,其成本会有所不同,SQL会变慢。确保定期收集查询和源表的统计信息。
  • 可能是其他一些操作(与您的地图并行运行)正在耗尽您的所有资源,因此需要1小时才能完成地图。
  • 它处理了多少数据?数千,数百万甚至数十亿?根据您的不同,您可以重新安排地图,例如此来源> source qual>查找>过滤器>分拣机+聚合器>目标是提高绩效。