OracleSequenceMaxValueIncrementer中的循环性能改进建议

时间:2018-03-02 20:48:30

标签: java database spring

我有一个循环,在其中我获得增量值并使用它。 就性能而言,由于我感觉到增量,当循环用于很多客户时,该过程需要花费大量时间。 我没有增量器只有一个dumm值,并且自然而然地更快了。 Aprrox快了10倍。

如何使用增量器来提高性能?

在循环中调用以下操作

@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
public String getNextReferenceNumber() {
    return this.ibs2BankDirDebRefNumSequenceGenerator.nextStringValue();
}

谢谢

1 个答案:

答案 0 :(得分:0)

我怀疑有一种方法可以改善增量器的性能。它固有地涉及Java< - >。 Oracle数据库往返。

如果要提高性能,您需要能够一次性获得一个参考数字块;即一个数据库往返。实质上,您需要能够通过sequence ....增加本机Oracle N,然后在Java端将这些值作为参考号发送出来。