在测试中发现,在GP中,部分使用IN语法的sql,执行起来比较慢。要是发现有类似情况,可以优化一下,改为exist 或者not exist语法 例如 insert into my_db.my_table1  sel  t2.field1 ,t2.field2 ,t2.field3 ,t2.field4 ,t2.field5 ,t3.field6 ,2 ,t3.field7  from  my_db.table2 t2  inner  join  my_db.table3  t3  on t2.field4=t3.field4  and t2.field8=t3.field9  and t2.field10=t3.field11  and t2.field12=t3.field13  and t2.field14=t3.Tkg_field14  and t3.field6>=0  and t3.field15=1  and t3.field16=1  where   ( t2.field1,t2.field2,t2.field3 ) not in (sel field1 ,field2  ,field3  from  my_db.my_table1 ) and  t3.field4 not in (sel field4 from my_db.my_table1 group by 1)        ;     修改为:   insert into my_db.my_table1  select  t2.field1 ,t2.field2 ,t2.field3 ,t2.field4 ,t2.field5 ,t3.field6 ,2 ,t3.field7  from  my_db.table2 t2  inner  join  my_db.table3  t3  on t2.field4=t3.field4  and t2.field8=t3.field9  and t2.field10=t3.field11  and t2.field12=t3.field13  and t2.field14=t3.Tkg_field14  and t3.field6>=0  and t3.field15=1  and t3.field16=1  where  not exists (select * from my_db.my_table1 aaaa where aaaa.field1=t2.field1 and aaaa.field2=t2.field2  and aaaa.field3=t2.field3  ) and not exists (select * from my_db.my_table1 aaaa where aaaa.field4=t2.field4   )       ;

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐