C#读取大TXT导入ORACLE,并查询和原始表的重复数据。

bntiger 2016-09-16 02:40:42
现在有个千万级数据库,每天都要导入每个TXT 100万条记录,想实现在导入前想判断是否有重复,没有重复才可以批量插入。

我目前利用OracleBulkCopy,可以实现批量的导入。关于重复判断,导入前,如果直接好用数据DATATABLE循环select原始表对比,速度非常的慢;也曾想利用临时表,然后用INTERSECT查询两个表的交集,如果有就说明有重复。但这些办法效率很低。

所以很特提出优化方案,请指正。
...全文
210 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hiose89 2016-09-16
  • 打赏
  • 举报
回复

帮你试了一下 用hashset 算110 万和100万之间 的重复数 只用了300多毫秒。
而且我的是渣渣笔记本。
hiose89 2016-09-16
  • 打赏
  • 举报
回复


真巧啊 ,我正好做了个视频 有讲到大数据不重复 对比。
不过视频很长,有兴趣你可以看看
http://v.youku.com/v_show/id_XMTcyNzU2MjEyOA==.html
shoppo0505 2016-09-16
  • 打赏
  • 举报
回复
先把全部数据导入数据库的另外一个表,判断重复再数据库层面做
800字以内 2016-09-16
  • 打赏
  • 举报
回复
hash 方面可以想办法提速吧? 没接触过 帮顶

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧