我使用Hibernate/Spring和MySQL數據庫進行數據管理。在數據庫中保存樹狀結構
目前我在JTable中顯示一個樹形結構。一棵樹可以有多個分支,而一個分支又可以有幾個分支(最多九層),或者有葉子。最近我有性能問題,只要我想在更深層次上創建新的分支。
此時分支有一個外鍵給它的父項。 domainobject通過調用getParent()來訪問其父項,getParent()返回父分支。級別越深,創建新分支所需的時間越長。
微基準測試結果創建一個新的分支像:
1級:32毫秒。 3級:80毫秒。 9級:232毫秒。
很明顯,級別(這意味着父母的數量)是負責這一點。所以我想問一下,是否有附件可以解決這類問題。我不明白爲什麼Hibernate需要在創建一個新的分支的時候知道整個對象樹(所有父母直到根)。但據我所知,這可能是創建新分支時延遲的唯一原因,因爲分支與其他任何對象沒有任何關係。
我會非常感謝任何解決方法或建議。
映入眼簾, ymene
終於我的openId註冊工作。生病告訴你,哪個解決方案最適合我,並且評價你的幫助。非常感謝大家。 – crusam 2010-05-21 09:25:11