我对Neo4j相当陌生。尝试遍历ExecutionResult结果集时,我遇到了一个特殊的错误。在下面的代码片段中,最后一个res.hasNext()需要接近50秒才能返回上一次迭代。ExecutionResult result.hasNext()花费很长时间返回
我使用的暗号查询
start p=node(*) where (p.`process-workflowID`? = '" + Id + "') and (p.type? = 'process') return ID(p);
我使用的Neo4j社区-1.8.1和Java 1.6.0_41,针对数据库的测试与226710个节点。
有没有人有任何线索,为什么发生这种情况?我假设查询是在engine.execute(查询)返回时完成的,但如果情况并非如此,那么希望在查询实际完成时发现一些问题。先谢谢你。
ExecutionResult result = engine.execute(query);
Iterator<Map<String, Object>> res = result.iterator();
while(res.hasNext()) {
Map<String, Object> row = res.next();
for(Entry<String, Object> column : row.entrySet()){
...
}
long t1 = System.currentTimeMillis();
res.hasNext(); // <--------------------------- statement in question
long t2 = System.currentTimeMillis();
System.out.println(t2-t1);
}
请发布您正在使用的密码查询。 – 2013-03-02 14:14:18
对不起,只是。 – 2013-03-02 15:02:55