我對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