从CSV文件批量更新Oracle

时间:2014-03-03 11:24:04

标签: java sql oracle csv

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

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

逐步完成java

  1. 我所做的是读取csv文件并制作两个列表,如yesContainList,noContainList 在该列表中添加了具有“是”和“没有单独”的id值

  2. 将列表设为coma seperated strinh

  3. 使用逗号分隔字符串

  4. 更新表格

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

    有人能说出这种更新的正确方法还是最佳方式?

2 个答案:

答案 0 :(得分:1)

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

  1. SQLLDR
  2. 使用外部表格。
  3. 这两种方法都在这里解释: Update a column in table using SQL*Loader?

答案 1 :(得分:1)

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

通过获取和发送大型表抛出类似API的ODBC,您将遭受网络往返,内存使用,IO命中等等 在设计客户端服务器应用程序(如J2EE)时,您是否设计了从用户界面层同步调用和控制的繁重批处理操作,或者您将设计由客户端命令触发的服务器端进程?。

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