繁体   English   中英

从CSV文件批量更新Oracle

[英]Bulk Update in Oracle from CSV file

我有表和CVS文件,我想要做的是从csv必须更新表。

csv file as follows (no delta)
1,yes
2,no
3,yes
4,yes

通过java步骤

  1. 我所做的是读取csv文件并制作两个列表,如yesContainList,noContainList在该列表中添加了id值,其中包含yes和no分别

  2. 将列表作为昏迷分隔的strinh

  3. 使用逗号分隔的字符串更新表

它的工作正常。 但如果我想处理十万分的记录意味着有点慢。

任何人都可以告诉它是否是正确的方式或任何最佳方式进行此更新?

有两种基本技术可以做到这一点:

  1. SQLLDR
  2. 使用外部表。

这里解释了这两种方法: 使用SQL * Loader更新表中的列?

由于性能问题,不建议在RDBMS外部执行批量操作,导入,导出或繁重的SQL操作等工作。

通过获取和发送大型表抛出类似API的ODBC,您将遭受网络往返,内存使用,IO命中....

在设计客户端服务器应用程序(如J2EE)时,您是否设计了从用户界面层同步调用和控制的繁重批处理操作,或者您将设计由客户端命令触发的服务器端进程?

将您的Java代码视为UI层,将RDBMS视为服务器端。
BTW RDBMS具有嵌入式功能,如oracle中的SQLLOADER操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM