Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Ein benannter Pfad in einer Abfrage ist immer mit zusätzlichen Kosten verbunden, was zu zusätzlichen Kosten in Form einer höheren Latenz und Speicherauslastung führen kann. Betrachten Sie folgende Abfrage:
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
In der obigen Abfrage ist die Verwendung des Pfads „p“ unnötig, vorausgesetzt, wir wollen nur die Eigenschaften der Knoten kennen. Durch die Angabe des benannten Pfads als Variable wird die Aggregationsoperation mit DISTINCT sowohl in Bezug auf Zeit als auch in Bezug auf den Speicherverbrauch teuer. Eine optimiertere Version der obigen Abfrage könnte sein:
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