点击此处浏览总目录

Source优化

 

优化Source主要包括以下几方面:

 

1 优化sqlquery
  在mapping中,通常会在Source Qualifier组件中使用sqlquery读取数据,则优化通常包括以下几点:
    1)  如果在Source Qualifier中的sqlquery中有多个表,可对它们使用oracle优化器
         如果sqlquery中只select单独一个表,可使用order by或group by子句
    2) 分析sqlquery中的查询语句,并对其创建优化器和索引
    3) 使用优化器让sqlquery尽快返回结果而非把所有结果同时返回,因为Integration Service可并行处理查询返回的记录
    4) sqlquery中如果有group by或order by子句, 则可针对group by和order by对应的字段创建索引
    5) 可使多个sqlquery并行运行

2 使用条件过滤器
  由于缺少索引,数据库端的filter可能会影响性能,因此可使用PowerCenter的条件filter提升性能
  是否使用PowerCenter的条件filter取决于session,如果多个session同时从一个源读数据,可能会提升性能
  但有些session可能会更快一些如果使用数据库端的filter,因此在决定使用哪个filter之前需要进行测试

3 增加数据库网络包大小
  增加网络包大小,以允许较大的数据包一次通过网络
     不同数据库,增加数据库网络包大小的方式也不同
     Oracle: 可在listener.ora和tnsnames.ora中设置增加数据库服务器网络包大小

4 连接oracle数据库源
  当Integration Service运行在单节点且oracle数据库实例安装在与该节点相同机器上时,可使用IPC协议连接数据库(通过在listener.ora and tnsnames.ora设置)

posted @ 2019-03-21 10:28  立业的博客  阅读(241)  评论(0编辑  收藏  举报