批量数据判断是否存在/不存在

1.通常遇到这种问题,最初步的想法就是循环,读取数据库判断

2.更进一步,由于循环访问数据库导致性能十分低下,是否可以先取出全集,到内存中进行比较,这里需要提醒的是使用HashSet或Dictionary判断是否存在比List性能要高

3.但当全集数据量极大的时候,这种做法可能会导致内存不足,接下来考虑是否能缩小提取的范围

4.提取原始数据时,直接只提取ID在需要比较的列表中,即 select id from table where id in (需要判断的id结果集),单数据提取到HashSet,kv的提取到Dictionary

5.提取出in条件的结果集后,与待比较的ID进行对比,取出的结果集中存在的ID,即是已存在的信息,不存在的,就是新增的ID

posted @ 2020-02-29 10:03  龍☆  阅读(3079)  评论(0)    收藏  举报