查询多个节点之间的关联

  • nebula 版本:v2.6.1
  • 部署方式:分布式
  • 安装方式:RPM
  • 硬件信息
    • 磁盘 500G
    • CPU 8核、内存信息 16G
  • 问题的具体描述
    使用场景:需要找个多个点( ‘T3_03S00014’,‘T4_T00013’,‘T2_S00014’)之间的关联关系,实际执行语句如下:
FIND NOLOOP PATH WITH PROP FROM 'T3_03S00014','T4_T00013','T2_S00014' TO 'T3_03S00014','T4_T00013','T2_S00014'  OVER E16,E19,E20,E21,E22,E23,E30,E33,E34,E35,E36  BIDIRECT where 1==1  UPTO  3 STEPS ;

两个问题:

  1. 经历3步后从T3_03S00014出发返回自身T3_03S00014的路径也会返回,能否在查询语句中就过滤掉?或者有不使用find path的其他方案?
  2. 当step设置为超过4时,性能会很差,超过30s才能返回。(PS:该图谱空间的各个tag数据量小于1000。)

1、T3_03S00014出发返回自身T3_03S00014的路径返回, 这个确定会出现吗, noloop 是不会出现重复点的, 并且只查找关联关系的话 ,不需要 WITH PROP
2、超过4步时候 可以 profile 一下,看一下每个算子的计算量是不是突然上升了

result.csv (17.3 KB)
profile详情见文件

@jmq2020 能帮忙看下吗

请直接 以文本格式贴出来,
根据执行计划的profile 看,在第二步拼接路径时候,数量突然上升了,你看一下数据排查一下

image

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