求教一个查询语句的优化问题

这个语句有没有什么优化的空间,速度有点太慢了,需求是根据某个确定的边属性,返回该边的起始点或者终点(必须去重) ,语句如下:
lookup on PROC where PROC.FWLWM == “住宿服务” yield distinct src(edge) as srcid, dst(edge) as dstid, properties(edge) as p | limit 10 | go from $-.srcid over PROC where properties(EDGE).FWLWM == “住宿服务” yield $-.srcid, $-.dstid, properties(edge),dst(edge)
后面我单独对这个语句做改良的时候发现:
lookup on PROC where PROC.FWLWM == “住宿服务” yield distinct src(edge) | limit 10 这个语句我执行了一下发现速度实在有点慢,我看了下执行计划是先扫到所有的结果再进行去重操作
lookup on PROC where PROC.FWLWM == “住宿服务” yield src(edge) | limit 10 这个语句但是快乐,但是返回的上游或者下游有重复的企业


图是执行去重的执行计划

可以先 limit 10 再做 distinct 吗?不过可能 limit的结果要放大点,比如 20 或者 50 这样的。避免没有数据。
另外,你这个语句理,为啥 limit 10 后面还要跟着 go 啊?

感谢回复!不好意思没看到消息,首先加limit不太行,这块我也想过,但因为不清楚要放大到多少,有些可能重复1000多条,这样子可能会出现一些产品问题,第二个之所以加go是因为我需要获取满足该边关系的起始点和终止点的属性,lookup我试了半天拿不到,就用go去拿了