Informatica transformations优化

Optimizing Aggregator Transformations
Group by simple columns
:用简单的字段来做group by 用数字字段替代用字符类型的。
Use sorted input
:用已经排过序的数据来进行汇总,这个选项勾上,infa不会再对数据进行排序,可以用SQ或sorter 组件来对数据进行排序后再汇总
Use incremental aggregation
Filter data before you aggregate it
:在汇总前先过滤掉不没有用处的数据
Limit port connections
:减少input/output port降低cache使用

Optimizing Joiner Transformations
使用的时候一次cache 100 唯一的key values
确保master 少重复key values
确保master数据量小,因为master是被用来匹配detail的每一行数据
尽可能的把join的动作放在数据库中执行
normal join要比outer join快 并得到较少的结果。当不能在数据库中直接join的(不同的数据库,或者有flat file)的时候可以创建一个per_session 存储过程,或者在SQ中优化join

最后可以给它传,已经排过序的数据,以减少对磁盘的读写次数(这边排序是要用到cache的)

Optimizing Lookup Transformations
选用一个最佳的数据源 本地的驱动要比odbc性能更好。
在打开cache的时候,infa会把在cache上做,不打开的时候,只能在源上面一条一条的来处理。
选用适当的cache类型
:shared cache 不同的组件可以共享一个无命名的cache在同一个mapping中,不同的组件可以共享一个命名的cache在不同的mapping间
:Persistent cache 保存一个重用的cache 文件,保证在运行session时源不会改动,这样保证了,不会再从数据库中读取数据来创建这个cache
开启并发的cache
:并发的创建cache来代替一个一个顺序的传建
选择最优的匹配
:最先返回指,还是最后返回值,也会影响性能,当然可以选择最先返回值
减少cache行
:可以直接override SQL添加过滤条件来减少源的行数
重新order by语句
:是用override SQL注释掉不要进行排序的字段,一般情况下,return字段都是不用排序的,可以自己写出sql 用--注释掉infa自己加上去的部分。
使用更多的机器内存
添加indexing lookup table
Cached lookups 在order by columns上添加index 可以在session logs上面找到对应的语句
Uncached lookups 在lookup condition 字段添加index 这是对表中每一行进行查询。


Sequence Generator Transformations
没什么具体好说的,可以创建一个复用的Sequence, 或者配置一个适当的数据cache 如果你不要设置,直接把这个值设为0 默认情况下也为0


Sorter Transformations
分配足够的内存给它让它给它排序。
:默认的情况下intergration service 给Sorter设置16M的cache size 那么你必须要给出实际物理内存也要16M 否则会直接导致无法分配内存而失败。
在数据量大于cache的时候,它会把数据放在它的work directory下面,实际占用的要比数据量两倍一上的空间
Use the following formula to determine the size of incoming data:
# input rows ([Sum(column size)] + 16) 这个怎么设置,暂时不是很明白。
使用分区的时候,给其分配不同的工作目录
:不同的分区,存在放在不同的目录下,最好是分别把这些目录放在不同的物理盘上。


Source Qualifier Transformations
可以选中distinct选项得到唯一的数据, 在data flow 前面就把不需要的数据直接过滤掉


Optimizing SQL Transformations
不要使用transaction语句当只做查询的时候
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值