大数据量重复校验

导入的功能,大家都用过,校验很多,比较多的应该算是重复性的校验。

比如导入的模板有1000条记录,那么导入的时候可能需要先和数据库里的记录进行比较,还需要和当前模板的其他记录进行比较。看过一个同事的校验逻辑,直接是双重循环,逻辑没有错,但是性能真不是很好

现在想到的方法是,利用临时表,具体逻辑:

1. 建立tmp表

2. 将当前模板的数据导入到tmp表

3. 在tmp表进行group by 唯一字段,并加上having count(*)>1 条件,这就可以判断当前文档记录的唯一性

4. 将tmp表和目标表进行inner join ,若存在结果集,就表示当前导入的模板记录有何数据库的目标表记录是重复的

猜你喜欢

转载自zengshaotao.iteye.com/blog/2294370