我使用Hibernate/Spring和MySQL数据库进行数据管理。在数据库中保存树状结构
目前我在JTable中显示一个树形结构。一棵树可以有多个分支,而一个分支又可以有几个分支(最多九层),或者有叶子。最近我有性能问题,只要我想在更深层次上创建新的分支。
此时分支有一个外键给它的父项。 domainobject通过调用getParent()来访问其父项,getParent()返回父分支。级别越深,创建新分支所需的时间越长。
微基准测试结果创建一个新的分支像:
1级:32毫秒。 3级:80毫秒。 9级:232毫秒。
很明显,级别(这意味着父母的数量)是负责这一点。所以我想问一下,是否有附件可以解决这类问题。我不明白为什么Hibernate需要在创建一个新的分支的时候知道整个对象树(所有父母直到根)。但据我所知,这可能是创建新分支时延迟的唯一原因,因为分支与其他任何对象没有任何关系。
我会非常感谢任何解决方法或建议。
映入眼帘, ymene
终于我的openId注册工作。生病告诉你,哪个解决方案最适合我,并且评价你的帮助。非常感谢大家。 – crusam 2010-05-21 09:25:11