請勿使用具名路徑 (除非必要) - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

請勿使用具名路徑 (除非必要)

查詢中的命名路徑一律會額外付費,這可能會增加延遲和記憶體用量方面的懲罰。請考處下列查詢:

MATCH p = (n)-[:commentedOn]->(m) WITH p, m, n, n.score + m.score as total WHERE total > 100 MATCH (m)-[:commentedON]->(o) WITH p, m, n, distinct(o) as o1 RETURN p, m.name, n.name, o1.name

在上述查詢中,假設我們只想知道節點的屬性,則不需要使用路徑 “p”。透過將命名路徑指定為變數,使用 的彙總操作在時間和記憶體用量方面DISTINCT都會變得昂貴。上述查詢的更最佳化版本可能是:

MATCH (n)-[:commentedOn]->(m) WITH m, n, n.score + m.score as total WHERE total > 100 MATCH (m)-[:commentedON]->(o) WITH m, n, distinct(o) as o1 RETURN m.name, n.name, o1.name