2016-04-28 85 views
1

我正在使用Spring数据JPA + Hibernate的Javers。 当我使用CurdRepository.save(Collection)时,Javers API会逐个审核集合中的每个对象,并且会导致整个插入过程的延迟。我在插入数据时面临Javers的性能问题

在集成Javers之前,进程需要30秒来处理100行,集成Javers之后需要80秒。

这是预期的行为?

回答

0

Javers将您正在提交的每个对象与JaversRepository中保存的最后一个快照进行比较。对于大型对象图可能需要一段时间。

+0

我们注意到每个数据库操作的性能问题非常高,没有Javers就花了2毫秒,并且Javers 10093毫秒。有没有办法跳过比较操作到一个独立的API,同时产生的差异或历史? – pradip

+0

你是什么意思由独立的API? –

+0

在审计过程中,我们只需存储快照而不执行DIFF,然后在当前事务之外执行差异操作作为单独的操作?正如我在前面的评论中提到的那样,时间花费非常高,所以试图了解我们如何减少这种情况。 – pradip

0

如果您的交易(无JaVers)需要30秒钟才能插入100行,我想您的基础架构可能会有一些性能问题,可能是数据库。在调整良好的数据库上,插入吞吐量以毫秒为单位,而不是以几百毫秒为单位。