gpt4 book ai didi

java - 使用 java 分析 Neo4j 数据库命中情况

转载 作者:行者123 更新时间:2023-11-30 06:55:00 24 4
gpt4 key购买 nike

我正在尝试使用以下代码分析 neo4j 数据库命中

public int calculateHits(List<ExecutionPlanDescription> list) {
int hits = 0;
int head = 0;
if (list.isEmpty())
return 0;

if (list.get(head).hasProfilerStatistics()) {
hits += list.get(head).getProfilerStatistics().getDbHits();
System.out.println(hits);
}
hits += calculateHits(list.get(head).getChildren()); // recurse over the children of the head
list.remove(head); // remove the head to recurse on the remaining of the list
hits += calculateHits(list);
return hits;
}

主要我这样调用它

Result result = neo4jGraph.execute(query);

int hits = calculateHits(result.getExecutionPlanDescription().getChildren());

但是,该方法始终返回 0 个命中。我记录了查询执行器计划的名称,并找到了 EagerAggregation、Filter。展开(全部)、筛选和 NodeByLabelScan 计划。但似乎所有计划都不存在 profilerStatistics,因为它从不访问条件并增加点击率。

代码中是否有任何问题,或者我需要先进行某些配置才能分析数据库命中? ... 感谢你的帮助。谢谢!

最佳答案

我终于找到问题所在了!我必须在查询中使用配置文件来填充统计信息并获取数据库命中。所以查询应该是

PROFILE Match (e:Event)-[r:has_metadata]-> (s:EventMetadata) where s.type STARTS WITH 'ELec' AND s.eventLocation IN ["GW", "GW32", "FW", "FW29" , "SW", "SW00"] AND e.date="1/11/2016" return SUM( e.reading)}

关于java - 使用 java 分析 Neo4j 数据库命中情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42024195/

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