【发布时间】:2019-10-25 19:12:51
【问题描述】:
问题
我一直在优化我们基于图形(Cosmos DB 上的 Gremlin API)构建的应用程序的性能,但我通常都过得很糟糕。经过大量的挖掘,我意识到一堆痛苦是由不必要的遍历处理引起的。如果我想获取所有 foo 顶点以及这些边可能具有的任何条形边(想想 SQL 的左连接),我会在 Gremlin 中编写以下内容:
g.V().hasLabel("foo").as("foos").
coalesce(out("bar"),constant()).as("bars").
select("foos","bars")
结果将包含一组元组,其中第 1 项名为 foos,第 2 项名为 bar。 Foos 总是有一个顶点,而 bar 有一个边或一个 []。
与为每个顶点处理一个新的匿名遍历不同,使用一个 constant() 步骤,null 将使整个事情更加高效。
我到处寻找,但在 Gremlin 中找不到 null。有人有什么想法吗?
【问题讨论】:
标签: gremlin