- nebula 版本:3.3.0
- 部署方式:分布式,3个节点
- 安装方式:RPM
- 是否上生产环境:Y
- 硬件信息
- 磁盘: 每个节点200G SSD
- CPU、内存信息:每个节点8C,64G内存
有个问题请教一下。我现在有个需求,执行路径查找,返回结果需要根据路径的长度来进行排序。
执行的具体语句如下:
FIND NOLOOP PATH FROM "451010000012000008930949" TO "451020000001000049787146" OVER pipeline bidirect UPTO 25 STEPS
yield path as p |
yield $-.p as p, length($-.p) as len |
order by $-.len |
yield $-.p as p, $-.len as len |
limit 6;
执行结果,耗时很长,5min+。具体的profile信息,在上传的附件中。
result (1).csv (15.3 KB)
profile之后,发现耗时主要体现在ProduceAllPaths上。达到了295s+。
我的疑问是:
以上的查询中,在执行ProduceAllPaths的时候,是否没有考虑order by len 和 limit 6?能否只组合生成必要的路径,而不是所有的?
谢谢!