get subgraph 过滤某种tag/label

提问参考模版:

  • nebula 版本:3.4.1
  • 部署方式:分布式
  • 安装方式:RPM
  • 是否上生产环境:Y
  • 硬件信息
    • 磁盘( 推荐使用 SSD)
    • CPU、内存信息
  • 问题的具体描述
    目前Space 上同一个点有两种tag, Group 和 Compacted,由于vid 相同,我用get subgraph 语句的时候发现会同时获取Group 和 Compacted 两个实体的属性,这个导致性能很差,请问get subgraph 目前有什么办法可以过滤不出现Group 这个tag 类型吗?

如果考虑性能的话,分开两步?
第一步查询不带 with prop。然后第二步按需取 prop
如果是为了可视化查询感觉这种方法是可行的。可以先在画布上做呈现,然后鼠标移动上去显示 prop。

不太可行,因为拿到数据之后要根据prop 做业务逻辑处理

profile看看?

"id","name","dependencies","profiling data","operator info"
"2","DataCollect","1","ver: 0, rows: 11, execTime: 1322399us, totalTime: 1322416us","outputVar: {
  ""colNames"": [
    ""nodes"",
    ""rels""
  ],
  ""type"": ""DATASET"",
  ""name"": ""__DataCollect_2""
}
inputVar: [
  {
    ""colNames"": [],
    ""type"": ""DATASET"",
    ""name"": ""__Subgraph_1""
  }
]
distinct: false
kind: SUBGRAPH"
"1","Subgraph","0","{
ver: 0, rows: 17452, execTime: 298us, totalTime: 2702654us
total_rpc_time: 11215(us)
resp[0]: {
  ""exec"": ""1087(us)"",
  ""host"": ""172.18.103.120:9779"",
  ""storage_detail"": {
    ""GetNeighborsNode"": ""690(us)"",
    ""HashJoinNode"": ""260(us)"",
    ""RelNode"": ""691(us)"",
    ""SingleEdgeNode"": ""88(us)"",
    ""TagNode"": ""157(us)""
  },
  ""total"": ""10827(us)"",
  ""vertices"": 1
}
resp[2]: {
  ""exec"": ""3429(us)"",
  ""host"": ""172.18.103.120:9779"",
  ""storage_detail"": {
    ""GetNeighborsNode"": ""7027(us)"",
    ""HashJoinNode"": ""5760(us)"",
    ""RelNode"": ""7033(us)"",
    ""SingleEdgeNode"": ""2836(us)"",
    ""TagNode"": ""2367(us)""
  },
  ""total"": ""8219(us)"",
  ""vertices"": 39
}
resp[1]: {
  ""exec"": ""1835(us)"",
  ""host"": ""172.18.103.125:9779"",
  ""storage_detail"": {
    ""GetNeighborsNode"": ""4959(us)"",
    ""HashJoinNode"": ""3766(us)"",
    ""RelNode"": ""4966(us)"",
    ""SingleEdgeNode"": ""1610(us)"",
    ""TagNode"": ""1821(us)""
  },
  ""total"": ""4283(us)"",
  ""vertices"": 28
}
}","outputVar: {
  ""colNames"": [],
  ""type"": ""DATASET"",
  ""name"": ""__Subgraph_1""
}
src: COLUMN[0]
tag_filter: 
edge_filter: 
filter: 
vertexProps: [
  {
    ""props"": [
      ""name"",
      ""econkind"",
      ""isipo"",
      ""shareholder"",
      ""create_time"",
      ""_tag""
    ],
    ""tagId"": 70
  },
  {
    ""props"": [
      ""name"",
      ""hasimage"",
      ""supernode"",
      ""create_time"",
      ""_tag""
    ],
    ""tagId"": 71
  }
]
edgeProps: [
  {
    ""props"": [
      ""_src"",
      ""_type"",
      ""_rank"",
      ""_dst"",
      ""midid"",
      ""role"",
      ""stockpercent"",
      ""shouldcapi"",
      ""create_time""
    ],
    ""type"": 73
  }
]
steps: 10"
"0","Start","","ver: 0, rows: 0, execTime: 0us, totalTime: 78us","outputVar: {
  ""colNames"": [],
  ""type"": ""DATASET"",
  ""name"": ""__Start_0""
}"

上面是profile 的结果,我看subgraph 算子也才耗时2s, 为什么整体耗时要8s左右?
意外的是: 我把20层的数据,压缩到了10层,以为耗时会有所优化,但是发现并没有什么区别,这个怎么理解?

有人可以看下这个跟问题怎么分析吗

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