2016-04-28 78 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行,我想您的基礎架構可能會有一些性能問題,可能是數據庫。在調整良好的數據庫上,插入吞吐量以毫秒爲單位,而不是以幾百毫秒爲單位。