OpenJPA:批量插入的瓶颈序列

时间:2015-04-20 20:02:24

标签: oracle jpa sequence bulkinsert openjpa

我在WAS 8.0和Oracle 11 DB上使用OpenJpa ...(afaik OpenJPA 2.1) 我有一个实体的批量插入。 (300.000)

测试:我使用序列生成id并使用自己生成的id保存实体。

结果:

使用persist插入200.000个实体:
使用序列2分钟和30秒 拥有自己的身份35秒。

使用persist插入500.000个实体:
序列5分钟
自己的身份100秒。

问题是序列会触发每个插入。但我应该使用序列。

我读了一些关于allowcationsize缓存jvm值的内容,我认为,这是正确的方法,但它是OpenJPA 2.2(http://openjpa.apache.org/builds/2.3.0/apache-openjpa/docs/jpa_2.2.html

还有另一种好办法吗?

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

尝试提升sequence generator allocation size.

的大小