如何提升nebula查询两个点是否存在联系的性能

nebula 版本:2.6.1
部署方式:分布式
安装方式:源码编译
是否为线上版本:Y
硬件信息
磁盘 1.5T
CPU、内存信息 32C128G * 3

问题的具体描述
前提: 从节点A扩展的1-2度关系的节点数6000 边关系数10000
查询节点A 和 节点B 两个点 在1-2度关系内是否存在关联关系查询
单词查询语句50ms ,请问如何进行性能的提升使得查询速度优化至10ms以内

$var1 = go 1 TO 2 STEPS from "节点A" over * BIDIRECT 
yield src(edge) as svid,dst(edge) as dvid ;
yield $var1 where $var1.dvid == "节点B" or $var1.svid == "节点B" | yield count(*) > 0

试下find path upto n steps.

1 个赞

这个方法性能得到了极大的提升在,查询耗时在两毫秒左右

1 个赞

请教下统计一个顶点1-2度扩展的顶点数有优化的方法么?
现有的语句时这样的
go 1 TO 2 STEPS from “顶点A” over * BIDIRECT yield dst(edge) as svid , src(edge) as dvid
| yield count(distinct $-.svid)+count(distinct $-.dvid)
同样数据级下需要50ms

你这个BIDIRECT是必须的吗,如果双向的话,似乎后面计算顶点总数的方法不太对,svid和dvid中会有重复的。
可以查下get subgraph的语法,应该会快一点。

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。

浙ICP备20010487号