百万级数据oracle入库

如何实现百万级的数据快速入库,并且在入库前判断对应的记录是否已经存在,
如果存在则跳过该条记录,并且实现入库序列自增。

我先说说我的看法啊,仅供参考。这些数据是什么样的,是直接就在oracle数据库中,还是某个文件格式,按你的意思应该是后一种,如果是某种格式,比如data.txt的文件,如果数据文件格式都是一致的,可以通过sqlldr进行数据装载,后续的判断记录是否存在,可以再进行去重处理,然后在用sequence进行序列自增。不知道你要实现的是不是这样的?

是这个意思 但是使用sqlldr导进去不是需要文件行和数据库字段数一致的吗 你现在直接不加序列导进去 不会报错吗?

首先考虑原有的数据格式,如果是多个execl文档,可以考虑拼接成insert 语句用sqlplus登陆执行或者直接用toad之类工具提供的execl导入功能
如果是纯文本格式,当然是用sqlldr导入,根据配置文件配置数据源和库表之间的字段顺序以及定长或不定长,导入到临时表中,再通过临时表和原表做merge去冲的问题

MySQL的load data里有个[REPLACE | IGNORE]关键字,意思是记录主键或唯一索引一致时替换记录或跳过,Oracle里应该也有这样的设置,毕竟MySQL用的Oracle的技术