簡體   English   中英

Neo4j的高級映射模式性能

[英]Neo4j's advanced mapping mode performance

我在Spring Data Neo4j項目中使用了Neo4j的簡單和高級映射模式。 由於我已經從簡單映射切換到高級映射,因此該項目的性能非常好,我的意思是真的比以前好多了。 我沒有確切的數字,但肯定是眾多。 有人可以澄清為什么高級映射模式優於簡單映射嗎?

我已經閱讀了SDN文檔中的Prorgramming Model頁面,但我找不到確切的原因。

為了記錄,我正在使用Spring的@Transactional支持。

是的,這是正確的,因為高級映射只是節點和關系的一個薄包裝,並寫入數據庫(並通過讀取)。 簡單映射將數據復制出來。為了保持性能優勢,只在事務中使用高級映射,您會很高興。

如果你開始修改事務之外的實體,你將得到臟對象跟蹤,它將開始再次復制東西。

我注意到,通過簡單的映射,即使不應該有很多不必要的標簽提取。 即使您不使用@Fetch,SDN仍然會(相應地)獲取相關集中所有節點的標簽,在某些情況下甚至可以進一步提取。

例如,我有兩個團隊,有大約100名成員,團隊也連接在一起(作為父子)和@Fetch無處使用,表現仍然很糟糕。

所以我切換到高級映射以擺脫不必要的標簽提取。 在我看來,簡單映射不再可用,因為它與基於新的Label的TypeRepresentationStrategy一起工作得非常糟糕。 似乎它不再適合標簽了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM