2017-12-27 101 views
1

在水壺,又名Pentaho數據集成中,我讀了一些與某些類別鏈接的產品的xls,並將它們插入到數據庫中。水壺PDI:更好的查找和插入更新或插入更新+查找

關係類別 - 產品是1:n(一個類別具有更多產品,一個產品具有一個類別)。 我做插入的類別,然後插入產品。

案例1:

  1. 插入/更新類別(真的,我只能插入);
  2. 按代碼查找分類並返回其他步驟中使用的id;

CASE 2:

  1. 查找類別由代碼;
  2. 過濾器行:if(id> 0)然後轉到其他步驟;否則轉到步驟3;
  3. 插入類別和返回ID;

更好(更快/內存使用)情況1或情況2?

同樣的選擇適用於子類別,供應商和其他相關實體。

其實我使用案例1和pdi每秒處理4條記錄,並且我有100k條記錄的文件。

回答

0

我建議使用第二種方法,讀取產品和每個產品使用Lookup steam找到產品的一個類別。

這種方式的原因在於它是人類思考的方式。還有那個。 Lookup stream(不是Lookup Database)非常優化。在某些情況下甚至比數據庫離開加入更快。