【问题标题】:OpenJPA: Bottleneck Sequence in Bulk InsertOpenJPA:批量插入中的瓶颈序列
【发布时间】:2015-06-27 17:36:42
【问题描述】:

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

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

结果:

插入 200.000 个具有持久性的实体:
使用序列 2 分 30 秒。
拥有自己的 id 35 秒。

插入 500.000 个具有持久性的实体:
使用序列 5 分钟
拥有自己的 id 100 秒。

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

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

还有其他好方法吗?

感谢您的宝贵时间。

【问题讨论】:

    标签: oracle jpa sequence bulkinsert openjpa


    【解决方案1】:

    【讨论】:

    • 是的,这适用于 OpenJPA 2.3,但我必须使用 2.1。当我在 2.1 中制作它时,jpa 对每个插入进行了序列查询。 (在 2.3 中没有)
    • 2.1.x 也应该可以正常工作。如果不是,它必须已修复且未反向移植。相关问题可以搜索issues.apache.org/jira/browse/OPENJPA。祝你好运!
    猜你喜欢
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    相关资源
    最近更新 更多