【发布时间】:2015-09-02 14:31:30
【问题描述】:
我想使用 java 程序将数据加载到 PostgreSQL 表中。 在 java 程序中我想使用多线程,我使用 COPY 命令 API
CopyManager copyManager = ((PGConnection)conn).getCopyAPI();
FileReader fileReader = new FileReader(filename);
copyManager.copyIn("COPY "+tblname+ " FROM STDIN DELIMITER ',' ", fileReader);
我已将文件分成“n”个部分,然后每个线程将该部分加载到 PostgreSQL 表中。
示例:
文件:test.csv
线程=3
然后test1.csv,test2.csv,test3.csv 被创建。每个线程执行每个文件。
它工作正常。
现在我想使用单个文件的多线程检查数据加载性能(不将文件分成n个文件)
示例:
文件:test.csv(包含 30000 条记录)
thread =3(第一个线程执行第一个10000行,
第二个线程执行1000120000,第三个线程执行20001-30000);
三个线程分割文件内容并使用COPY将数据加载到Postgres中。
是否可以使用java多线程划分文件记录并加载到Postgres?
【问题讨论】:
-
有没有可能没关系,那是愚蠢的。所有这些关于尝试使文件读取多线程的帖子是什么?
-
我也看不出任何正当理由。
标签: java postgresql