優化Source主要包括如下幾方面:sql
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設置)服務器