求助,请高手提供下高效率的思路
现在有个需求,oracle数据存在表A,该表的数据量很庞大,超过数万甚至十多玩数据,这个表有个字段为B,现在有个导入功能,是将EXCEL文件导入到该表,但是,如果导入的B字段有值已经在表A中的B字段存在,则不允许导入,并且要能标记出是EXCEL哪一行的值。目前按照一般的思路是导入的时候,每导入一行数据就去表里查询一次验证,但这样效率太低,20多条数据都能导入10多分钟,而且还是在数据量才几十调的情况下,所以求助,望高手提供思路
呵呵,你可以先一次性导入到数据库里
最后对字段B 找出重复的数据 把重复的数据放在一张临时表里
应该可以满足你的要求
再有一个办法就是
将A表的B字段设为主键
将循环导入里面 放入try catch 里
当catch 捕获到Oracle报出的 违反主键唯一约束的异常的时候
做 continue;
让循环执行下一条,
不知道你理解了没