【发布时间】:2021-11-06 09:15:57
【问题描述】:
我正在尝试通过从不同的表中进行选择来插入大量记录。
在下面的示例中,BAR 表有大约 100 万条记录,并试图将所有这些记录插入 FOO 表中。有没有一种方法可以在不使用加载器 API 或使用 JOOQ 批量插入的情况下有效地做到这一点?
仅供参考,我试图避免将所有记录加载到内存中的方法,所以我没有使用需要 JOOQRecords 的加载程序 API。
dslContext
.insertInto(FOO)
.columns(FOO.A, FOO.B)
.select(
select(A, B)
.from(BAR))
.execute();
【问题讨论】:
-
您选择的方法是最有效的方法之一:让数据库完成所有工作。你遇到了什么问题?
-
我正在使用 RDS Postgresql,当查询正在执行时,db 进程被终止,并显示此消息“由于内存消耗过多,数据库进程被操作系统杀死”
标签: sql bulkinsert jooq