日期:2014-05-17  浏览次数:20675 次

关于表比较问题
如何高效判断2张表中的数据的差异。
注:2张表字段相同,字段类型相同,顺序相同。 -。- 总之结构都一样,但是数据不一定一样. 而且表比较庞大、 不可能一个字段一个字段的判断

------解决方案--------------------
数据库层minus进行差集运算
OS层面的diff
------解决方案--------------------
比如:
select * from t1 where not exists(select * from t2 where  t1.id = t2.id)


Where后面跟的是相同的记录查询条件。。。。
------解决方案--------------------
两表进行hash join 比较,效率最好,
大概这样:
select * from t1 left join t2 on t1.a = t2.a
where t2.a is null;

使用minus的问题:
1.会过滤重复的数据。
2.内部会做排序,大数据量的情况下,效率不好。


------解决方案--------------------
minus掉重复数据的话,那就把重复数据在查一遍呗。。