ArangoDB崩溃了一个更复杂的图形查询

时间:2015-06-03 09:10:25

标签: arangodb

ArangoDB崩溃时有两个跳图查询。

enter image description here

图像三个顶点集合VA,VB和VC。 VA连接到VB和VC。我们有一个VB实例,想要通过边和VA实例连接到它的所有VC。

所有这些都在图表中定义,以使用Arango图API访问它们。我使用以下AQL语句来查询图形。首先,我获得连接到VB实例的所有VA,然后是连接到VA的所有VC。

FOR va IN GRAPH_NEIGHBORS("Graph", "VB/Instance", {direction: "inbound", edgeCollectionRestriction: "eAB"})
FOR vc in GRAPH_NEIGHBORS("Graph", va._id, {direction: "outbound", edgeCollectionRestriction: "eBA"})
    RETURN vc

结果是,经过几分钟的计算后,ArangoDB崩溃,日志文件中没有任何有用的信息。

将边缘模拟为文档而不是文档之间的链接似乎非常低效,因为在这样的查询中,整个边集合已经多次运行以找到正确的链接。我假设两个跃点对于数据库来说是非常重要的。或者是否有可能改进查询而不会导致数据库崩溃?

1 个答案:

答案 0 :(得分:3)

在几天前(2015年6月)的2.6版本中,我们进行了一些更改,以使GRAPH_NEIGHBORSNEIGHBORS更快。

正如评论中所见,这似乎解决了这个问题。