方法1 使用临时表
将所有待检查的CODE存到临时表中,然后通过SQL选择出所有不存在的CODE。
优点:(没体会)。
缺点:往临时表中插数据也会消耗掉很多性能,不能将不合法的数据登录到临时表,以防发生异常。加重数据库服务器的负荷。
方法2 不使用临时表
1. 循环待检查的CODE,缓存到Hashtable(Key是CODE;文件导入的场合,Value是行数,反之为空)中,并组成查询用的IN字符串。
2. 执行查询,取得所有存在的CODE。
3. 如果存在的CODE数和待检查的CODE数一致,说明所有CODE都存在。否则继续筛选不存在的CODE。
4. 循环存在的CODE,如果CODE在Hashtable中也存在,就将该CODE从Hashtable中删除,反之保留。
5. 凡是Hashtable中未被删除的CODE,就是DB中不存在的CODE了。
优点:利用了应用服务器,减轻数据库服务器的负荷。
缺点:(体会中)。
将所有待检查的CODE存到临时表中,然后通过SQL选择出所有不存在的CODE。
优点:(没体会)。
缺点:往临时表中插数据也会消耗掉很多性能,不能将不合法的数据登录到临时表,以防发生异常。加重数据库服务器的负荷。
方法2 不使用临时表
1. 循环待检查的CODE,缓存到Hashtable(Key是CODE;文件导入的场合,Value是行数,反之为空)中,并组成查询用的IN字符串。
2. 执行查询,取得所有存在的CODE。
3. 如果存在的CODE数和待检查的CODE数一致,说明所有CODE都存在。否则继续筛选不存在的CODE。
4. 循环存在的CODE,如果CODE在Hashtable中也存在,就将该CODE从Hashtable中删除,反之保留。
5. 凡是Hashtable中未被删除的CODE,就是DB中不存在的CODE了。
优点:利用了应用服务器,减轻数据库服务器的负荷。
缺点:(体会中)。