我目前開始使用Neo4J,它是查詢語言密碼。 我有一個多重查詢,遵循相同的模式。優化Cypher查詢
我做一個SQL的數據庫和Neo4j的之間的一些比較。
在我的Neo4j Datababase我HABE一種類型的標籤(人)和一個類型的關係(友誼)。該人擁有個人身份,姓名,電子郵件,電話。 現在我想擁有這個朋友的第n個學位。我也想過濾出那些也是較低學位朋友的人。 例如,如果我想搜索朋友3度,我想過濾掉那些也是朋友第一和/或第二度的朋友。
這裏我的查詢類型:
MATCH (me:person {personID:'1'})-[:FRIENDSHIP*3]-(friends:person)
WHERE NOT (me:person)-[:FRIENDSHIP]-(friends:person)
AND NOT (me:person)-[:FRIENDSHIP*2]-(friends:person)
RETURN COUNT(DISTINCT friends);
我發現類似的東西的地方。
此查詢適用。
我的問題是,查詢的這種模式是非常慢,如果我搜索了更高程度的友誼和/或如果人數變得更加。
所以,我真的很感激它,如果somemone可以幫助我優化這個。