java客户端查询效率问题

提问参考模版:

  • nebula 版本:Nebula 2.6.1
  • 部署方式:单机
  • 安装方式:tar
  • 是否为线上版本:N
    8核 32G

大概用了1w条数据去取 结果是 130/s 用了十分钟 这结果正常吗?
ngql语句是这样的 match (v:player{name:""+str+""}) → (v2) return (v2)

都有索引,用本地idea跑的
读取用的BufferedReader

你在console 上查询试下,看下每个语句在console和java client 的大概耗时

在console上 Got 1 rows (time spent 7702/8357 us)
java-client 上 大概用时300毫秒

300毫秒是execute请求返回dataset中的Latency么

整个执行过程 从使用ngql语句到返回结果花了300毫秒

你要对比下 console中展示的 Got 1 rows (time spent 7702/8357 us) 和客户端请求返回ResultSet中的latency时间, 其他时间就是客户端业务代码处理的时间。


您看大概就是这样执行出来的时间

我刚看了一下 查询时间大概就是十毫秒 二十毫秒的样子

三百毫秒里面包含了创建池的时间

你直接打印ResultSet 中获取的latency不就好了。 对应你的代码就是: execute.getLatency()。

查询时间和在console中差不多,说明10分钟是在你的代码中消耗的,可以优化下你的业务代码。

好的 明白了 我刚刚查了一下和console查出来的是一样的。

谢谢您 我再看一下我的业务代码

还想再问您一下

我两个程序同时去取的话 这个命令是串行执行还是并行执行啊
两个match命令

命令A和命令B同时提交

是一起执行还是会先执行完其中一个 返回结果后 再执行另一个呢?

并行

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