zoukankan      html  css  js  c++  java
  • 优化之Aggregator组件

    Aggregator组件通常会降低性能,因为它们必须在处理数据之前对数据进行分组
    Aggregator组件需要额外的内存来保存中间组结果

    通过如下方式对Aggregator组件进行优化
      简化group by字段
        1) group by避免使用复杂的表达式
        2) group by字段越少越好
        3) group by字段最好用数字,而不是字符或日期

      对input进行排序
        通过组件--> Properties --> 勾选Sorted Input选项对input数据进行排序
        Sorted Input选项勾选时,Integration Service会假定认为input已经被sorted,因此会减少聚合缓存的使用,并以此提高性能
        当Integration Service读取组的行时,它执行聚合计算。必要时,它将组信息存储在内存中
        Aggregator组件的input数据最好是已排好序的,可以与Sorter组件,或者Source Qualifier组件的Number of Sorted Ports选项一起使用
        在具有多个分区的session中勾选Sorted Input选项可以提高性能

      使用增量聚合
        如果source发生变动的数据小于target的一半,可使用增量聚合
        使用增量聚合可只将本次改动的部分同步至target,而不是将整体从新同步
        也可在不产生系统分页操作的情况下,同构追加索引和数据缓存的方式将全部数据放入内存中处理

      聚合之前进行过滤
        在进行聚合操作之前,现将不必要的数据进行过滤,比如使用filter组件

      限制port连接数量
        限制连接的input/output port或output port的数量,以减少聚合时存储在数据缓存中的数据量

  • 相关阅读:
    EfCore基本用法
    C#笔试题目总结
    LINQ
    markdown 语法
    打造一款 刷Java 知识的小程序(二)
    为了考PMP,我做了一个刷题小程序
    30分钟全面解析-SQL事务+隔离级别+阻塞+死锁
    反制面试官 | 14张原理图 | 再也不怕被问 volatile!
    50+道大厂JVM面试题 + 11张思维导图就是让你懂JVM~
    【从零开始用Swift开发一个iOS应用(仿微博)】开篇-1. demo上手体验
  • 原文地址:https://www.cnblogs.com/shiliye/p/10690701.html
Copyright © 2011-2022 走看看