2013-07-26 145 views
1

當執行以下暗號查詢:很慢CYPHER查詢(Neo4j的)

START me=node(2) MATCH (me)-[:likes]->page<-[:likes]-(person) WHERE NOT(me-[:isFriendOf]-person) RETURN person 

我觀察以下執行時間:

163ms 
173ms 
177ms 
210ms 
174ms 
etc. 

該圖表由6個用戶節點,第6級的節點的並共有12種關係:

  • 人isFriendOf Person;
  • 人喜歡Page;

這看起來不像正常行爲。這可能是什麼原因?

+0

你能分享你的創建語句,以便我可以在本地測試嗎?你可以在neo4j-shell(neo4j V2)中使用'dump'。 –

回答

2

問題解決。

性能問題是由於不使用全局或 線程本地ExecutionEngine引起的。 不要爲每個請求創建ExecutionEngine,但始終線程爲本地(或全局),否則您將終止緩存。

+0

感謝您報告回來。 –