语句执行耗时较长

  • nebula 版本:3.6
  • 部署方式:分布式
  • 安装方式:使用tar包安装
  • 是否上生产环境:Y
  • 硬件信息
    • SSD硬盘
    • CPU:64核、内存:256G
  • 语句执行慢:match p=(n)-[Rlxrdh]-(m:Ndh)-[Rdh]-(Nzrr) where id(n) == “Ncdxm_269641730xxxxxx” return n,p
  • profile执行结果以csv文件形式上传(同下)

profile执行结果.csv (55.5 KB)

:thinking: ,这里就用了两台机器,你的部署是三台机器布 storage 么?

是3台机器部署了storage,并且刚刚看了一下,3台也都在线

您可以考虑:
1.把语句中的点的tag和边上的type加完整,这样避免对所有tag和edge type的扫描。
2.仅return您需要的属性,这样可以启用属性裁剪。

1 个赞

您好:

  1. 因为我这个需求就是找出某个人3度以内的所有关系的所有点,如果把点的tag和边的type都加完整的话我这需要把图空间里面的所有tag和type都加上。这样都加上和没写应该一样吧,如果后续我又在图空间里面创建了一些新的tag或者type,我还得回来修改这里
  2. 我这里是return 的路径,eg:match p = () return p,返回路径可以用属性剪裁吗?

p.prop 这个才是属性返回,p 是所有属性返回。

  1. 如果全部加上确实没有区别,在业务语义中是允许一个点有任意的tag,且边的起点和终点的tag类型不限制吗?虽然nebula本身没有限制,但我理解业务侧一般是有限制的。
  2. 直接返回路径是会返回所有属性的,但是您可以尝试把路径拆开。比如
match (a)-[e]->(b) return a.prop,e.prop,b.prop
  1. 我看到您有三个storage节点,但是profile的结果中只有两个storage的信息,而且两个storage的时间消耗差距很大。可以看下是不是有storage挂掉了,再看下leader的分布是否均匀。
1 个赞

路径不能使用 p.prop的形式返回属性

1 个赞

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