gpt4 book ai didi

java - Neo4j StatementResult 太慢

转载 作者:行者123 更新时间:2023-12-02 10:47:59 25 4
gpt4 key购买 nike

我使用java驱动程序连接Neo4j数据库。我编写了下面的代码来查询并获取结果。

StatementResult response = session.run("MATCH (a:File {id:'" + file + "'}) RETURN a.pagerank");
while(response.hasNext())
sumPageRank += response.next().get("a.pagerank").asDouble();

但这运行得太慢了。分析后,我发现第一个语句运行良好,但 hasNext() 方法使其变慢,这与我的预期相反。因为看起来获得响应速度很快,但解析该响应速度很慢。然后,我尝试了 list() 方法:

StatementResult response = session.run("MATCH (a:File {id:'" + file + "'}) RETURN a.pagerank");
List<Record> records = response.list();
for(Record r : records)
sumPageRank += r.get("a.pagerank").asDouble();

这也很慢。导致变慢的是 list() 方法。因此,我正在寻找一种快速方法来获取 cypher 查询的响应。

最佳答案

您似乎正在尝试对所有结果的页面排名进行求和运算。如果您在查询本身中执行此操作,则效率更高(并且在此处使用参数,在参数映射中传递 fileId,而不是附加 id 的字符串):

MATCH (a:File {id:$fileId}) 
RETURN sum(a.pagerank) as sumPageRank

关于java - Neo4j StatementResult 太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52402461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com