2015-12-21 32 views
0

我使用的Neo4j社區版,我時遇到的「城市」 1個節點和「BusinessDetails」與維吾爾連接的約5000個節點「CONTAINS」從「城市」到「BusinessDetails」,當使用暗號查詢Neo4j的是佔用太多的時間暗號查詢 「MATCH(N:市{名: 」海得拉巴「}) - [:含有] - >(P:BusinessDetails)返回P」

MATCH (n:City{name : "hyderabad"})-[:CONTAINS]->(p:BusinessDetails) return p 

它大約服用上午01點8秒鐘獲取結果。如何優化這個?以及爲什麼需要這麼多時間? 我真的很新neo4j。

+0

請確認您的數據庫只包含一個'City'節點,如您的問題所述。此查詢是否返回1:'MATCH(n:City)RETURN COUNT *'。 – cybersam

回答

1

首先請確保您添加的城市名稱

CREATE INDEX ON :City(name) 

指數下始終符合過濾條件中單獨匹配語句

MATCH (n:City{name : "hyderabad"}) 
MATCH n-[:CONTAINS]->(p:BusinessDetails) 
RETURN p 

這將提高你的表現了一下。無論如何,這可能是一個配置問題或硬件,因爲你正在談論與我正在使用的數量相比非常小的數字,而且我仍然有更好的性能。