我有两个数据库,分别存放资金记录(有订单id)和订单详情(订单表中有很多无效订单,也就是没付钱的)。资金和订单是多对一的关系。现在我需要把他们匹配起来放入数据仓库。我想到的方案是先取前一天的所有资金记录,然后拿着订单id去订单库里查询,然后再join到一起。但是kettle提供的工具貌似要把所有订单都查出来然后由kettle来join,这样数据量有点大。
我有两个数据库,分别存放资金记录(有订单id)和订单详情(订单表中有很多无效订单,也就是没付钱的)。资金和订单是多对一的关系。现在我需要把他们匹配起来放入数据仓库。我想到的方案是先取前一天的所有资金记录,然后拿着订单id去订单库里查询,然后再join到一起。但是kettle提供的工具貌似要把所有订单都查出来然后由kettle来join,这样数据量有点大。
我看了下,这个差不多要逐行执行,如果表的数据比较多(例如A表有5万数据,B表有1万数据,但是B表只有100条数据是和A关联的),采用这个方法,需要对每行A表数据查一次库,没有没办只查一次(使用类似select * from table_b where id in (select fk from table_a)),然后在内存中join