目前有三张表,假设为A,B,C,其实A表数据4000多万条,B,C表数据分别700多万条,三表的主键均为产品号,同时C表数据是A表数据的子集。现在想找到在,在A表中的数据,但是不在B,C,表中的数据,只需要找到 产品号 字段。我初步的解决办法是 先将B,C表UNION至一个新表D中,UNION语句如下,selec...
显示全部目前有三张表,假设为A,B,C,其实A表数据4000多万条,B,C表数据分别700多万条,三表的主键均为产品号,同时C表数据是A表数据的子集。
现在想找到在,在A表中的数据,但是不在B,C,表中的数据,只需要找到 产品号 字段。
我初步的解决办法是 先将B,C表UNION至一个新表D中,UNION语句如下,select b.产品号 from B b union select c.产品号 from C c,如何导入到D表,还没有更好的方法,export,import的方法我们没有权限,需要找相关部门商量,而select into好像DB2不只是数据对导。大家有什么更好的方法吗?
如果以上可以实现,在A表中的数据,但是不在B,C,表中的数据 将改为在A表中的数据,但是不在D表中的数据,SQL如下:
select a.产品号 from A a where a.产品号 not in (select d.产品号 from D d)
但是对于千万条级别的数据,这个速度也会超级的慢。
想看看大家有什么建议吗?发愁ing ........
在其他论坛看到这个问题,觉得有些意思,转过来和大家一起讨论!
收起