我目前正在将文件中的数据插入表中。我在将数据插入表格之前格式化数据(删除标签/回车/获取某些文本的字符代码等)。首先,我必须检查记录是否存在,如果存在则更新它。如果不是,则必须将该记录插入到表中。
我遇到的问题是它需要很长时间。我有两个文件,一个有不到 50 万条记录,一个有超过 400 万条记录。如果可以运行批量收集以便我两者都做?
例如
open c_cur;
loop
fetch c_cur bulk collect into examp limit 50000;
exit when limit.count = 0
forall x in 1..limit.count
update table1
set...
where...
if sql%notfound then
insert into table1
values (...)
end if;
commit;
end loop;
close c_cur;
这可能吗?
我还听说过设置临时表并将文件转储到那里,然后从那里开始工作。那是更好的选择吗?这会给我带来多少性能提升?
我也不想从文件中对表进行合并。
谢谢。