orientDB遍历真的很慢

时间:2014-03-20 10:53:57

标签: orientdb

我使用orientdb有一些严重的性能问题。 我有一个带有如下所示的数据库的数据库,数据是从JSON导入的:

PersonA --hasInterest-> InterestA
PersonA --hasInterest-> InterestB
PersonB --hasInterest-> InterestA
PersonB --hasInterest-> InterestB

我的目标是找到与给定兴趣相结合的兴趣。所以我的查询如下:

SELECT * FROM ( TRAVERSE out_hasInterest FROM ( SELECT FROM ( TRAVERSE in_hasInterest FROM #12:33 ) WHERE $depth > 0 )) WHERE $depth > 0

#12:33是兴趣所在。

我的真实数据比这个小片段要大一些,所以对于一个具体的兴趣,有大约500,000个人,平均有3个兴趣。所以我会遍历500,000 + 500,000 * 3 = 2,000,000顶点。那似乎没那么多。

查询需要~100秒。这对我的应用来说非常重要。

我认为我做的事情非常糟糕,我无法相信表现那么糟糕。 非常感谢任何帮助!

祝你好运 路德维希


版本:1.7-rc1

1 个答案:

答案 0 :(得分:0)

你为什么使用遍历?如果我理解你的目标,你可以做到:

SELECT expand( in('hasInterest').out('hasInterest') ) FROM #12:33