关于表比较问题
如何高效判断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掉重复数据的话,那就把重复数据在查一遍呗。。