Verwenden Sie in der Klausel abgeflachte Maps anstelle von verschachtelten Maps UNWIND - Amazon Neptune

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.

Verwenden Sie in der Klausel abgeflachte Maps anstelle von verschachtelten Maps UNWIND

Eine tief verschachtelte Struktur kann die Fähigkeit der Abfrage-Engine einschränken, einen optimalen Abfrageplan zu generieren. Um dieses Problem teilweise zu beheben, werden anhand der folgenden definierten Muster optimale Pläne für die folgenden Szenarien erstellt:

  • Szenario 1: UNWIND mit einer Liste von Chiffrierliteralen, die, und enthältNUMBER. STRING BOOLEAN

  • Szenario 2: UNWIND mit einer Liste von abgeflachten Maps, die nur Chiffrierliterale (,,) als Werte enthält. NUMBER STRING BOOLEAN

Verwenden Sie beim Schreiben einer Abfrage, die eine UNWIND Klausel enthält, die obige Empfehlung, um die Leistung zu verbessern.

Beispiel für Szenario 1:

UNWIND $ids as x MATCH(t:ticket {`~id`: x})

Mit Parametern:

parameters={ "ids": [1, 2, 3] }

Ein Beispiel für Szenario 2 ist die Generierung einer Liste von Knoten zu CREATE oderMERGE. Anstatt mehrere Anweisungen auszugeben, verwenden Sie das folgende Muster, um die Eigenschaften als eine Gruppe von abgeflachten Zuordnungen zu definieren:

UNWIND $props as p CREATE(t:ticket {title: p.title, severity:p.severity})

Mit Parametern:

parameters={ "props": [ {"title": "food poisoning", "severity": "2"}, {"title": "Simone is in office", "severity": "3"} ] }

Anstelle von verschachtelten Knotenobjekten wie:

UNWIND $nodes as n CREATE(t:ticket n.properties)

Mit Parametern:

parameters={ "nodes": [ {"id": "ticket1", "properties": {"title": "food poisoning", "severity": "2"}}, {"id": "ticket2", "properties": {"title": "Simone is in office", "severity": "3"}} ] }