【发布时间】:2020-06-26 01:22:15
【问题描述】:
我在Neo4j 4.0.1中使用LDBC数据集测试执行时间,SF = 1,我使用java连接Neo4j,ResultSummary.resultAvailableAfter()得到执行时间,也就是得到结果的时间并开始流式传输。 但是对于同一个查询,当我第一次运行时,执行时间似乎是合理的,大概是几百毫秒,但是当我继续运行同一个查询时,执行时间几乎变成了 0。 我猜是查询缓存的影响,但是有没有合适的方法来测试查询执行时间并得到合理的结果?
现在我只能重新启动 db 以获得似乎正确的结果。 我猜这是因为 Neo4j 直接缓存了查询结果,如果同一个查询被多次执行,它只会获取它。有没有办法避免这种情况?即让 neo4j 做正常的缓存(比如节点和关系),而不是直接缓存查询结果。 谢谢!
【问题讨论】:
标签: neo4j cypher benchmarking execution-time