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的數量,以減少聚合時儲存在資料快取中的資料量
第一節 常用元件 之 Aggregator 概述
轉換型別 已連線 主動 聚合轉換允許您執行聚合計算,比如平均值和總和。聚合轉換與表示式轉換不同,您可以使用聚合轉換對多組執行計算。而表示式轉換只允許您逐行地執行計算。使用轉換語言來建立聚合轉換時,您可以使用條件子句過濾行,這比 sql 語言更為靈活。powercenter 執行其讀取的聚合計算並儲存...
Java效能優化之元件 緩衝
緩衝區是乙個特定的儲存區域,可以協調應用程式上下層質量的效能差異,提高系統執行效率。緩衝最常使用的場景是i o處理。jdk中提供了很多帶緩衝的i o元件。比如讀取檔案。public static void readbybyte string file catch ioexception e if i...
iView之Select元件的優化
我們公司的元件庫是基於iview比較早的版本修改後的僅供公司內部使用的元件庫,因此在使用的過程中就會遇到一些問題。接下來本文會對比select元件在效能上做出的優化。我們先來回顧一下debounce函式的使用場景 在前端頁面我們會遇到一些頻繁觸發的事件 比如 滑鼠的移動mousemove事件 win...