当查询语句返回数据较多时处理时间大幅上涨

  • nebula 版本:3.6.0
  • 问题的具体描述

    可以看到这个查询返回了四千多行结果的id,在nebula studio执行时间看到是二十多毫秒,但是在nebula-python执行同样的语句处理时间却接近两百毫秒,我发现这个差距随返回的内容数量的增长而增长,如果我在程序里执行的语句加上limit 1来减少返回内容,那么两边的时间消耗就差不多。
    我想问怎样在获取大量数据时保障性能不劣化太多?这点对我们很重要,二十多毫秒尚有语句调整优化后接受的可能,但是上百毫秒获取这些信息就不能接受了

感觉不太科学。studio 用的是 nebula-go 的客户端,但服务端的处理效率应该是一样的才对

另外,执行返回的时间有 2 个,一个是服务端执行时间,另外一个是端到端的时间,包括客户端接收及网络传输时间。你看到的 200ms 是前者还是后者?
studio 应该返回的是前者

后者,但是加上网络时间也不该有这么大的差异,问题里也有说,同样是在程序里读取数据,语句加不加limit 1就是天与地的差距,在不加limit1 和加limit 1这两个测试里网络时间差异、服务端执行时间差异都可以忽略不计(加limit 1对服务端执行时间变化不大)

image
这是我拿问题里的语句在程序里面两次执行拿到的结果,差距就是有没有limit,所以不存在是网络延迟导致了如此大的差异

会和python环境上一些依赖包版本有关吗?比较相关的依赖包能不能发下,我检查检查

嗯,加不加 limit 影响很大,正说明了不加 limit返回的数据量很大,导致网络传输和客户端接收花了较多时间

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