Kettle PDI:更好的查找和插入更新或插入更新+;查找

Kettle PDI:更好的查找和插入更新或插入更新+;查找,kettle,pdi,Kettle,Pdi,在Kettle(又名Pentaho Data Integration)中,我读到一个xls,其中一些产品链接到一些类别,然后将它们插入数据库中 关系类别产品为1:n(一个类别有多个产品,一个产品属于一个类别)。 我先插入类别,然后插入产品 案例1: 插入/更新类别(实际上,我只插入) 按代码查找类别并返回其他步骤中使用的id 案例2: 按代码查找类别 过滤行:如果(id>0),则转到其他步骤;否则进入步骤3 插入类别和返回id 案例1或案例2更好(更快/内存使用) 同样的选择适用于子类别、供应商

在Kettle(又名Pentaho Data Integration)中,我读到一个xls,其中一些产品链接到一些类别,然后将它们插入数据库中

关系类别产品为1:n(一个类别有多个产品,一个产品属于一个类别)。 我先插入类别,然后插入产品

案例1:

  • 插入/更新类别(实际上,我只插入)
  • 按代码查找类别并返回其他步骤中使用的id 案例2:

  • 按代码查找类别
  • 过滤行:如果(id>0),则转到其他步骤;否则进入步骤3
  • 插入类别和返回id 案例1或案例2更好(更快/内存使用)

    同样的选择适用于子类别、供应商和其他相关实体


    实际上,我使用案例1和pdi每秒处理4条记录,并且我有100k条记录的文件。

    我建议使用第二种方法,读取产品,对于每个产品,使用
    查找蒸汽
    查找产品的一个类别

    这样做的原因是,这是人类思考的方式。还有,这个<代码>查找流(而不是
    查找数据库
    )得到了相当优化。在某些情况下甚至比数据库左连接更快