我的设置-Oracle DB 12.1C,带有Hibernate的Spring应用程序。
表:
create table war
(
id int generated by default as identity not null constraint wars_pkey primary key,
t1_id int references t1 (id) on delete cascade not null,
t2_id int references t2 (id) on delete cascade not null,
day timestamp not null,
diff int not null
);
我想在表中插入10000条记录。使用repository.saveAll(<data>)
需要70秒,使用JpaTemplate.batchUpdate(<insert statements>)
需要68秒。当我创建不受限制的新临时表时,需要65秒。
最好/最快的方法是如何将如此数量的记录插入Oracle DB?不幸的是,CSV不是一个选择。
答案 0 :(得分:0)
我的解决方案是重新设计模型-我们使用int_array
存储diff
->这比第一个解决方案快近十倍。