Batch-Eingaben UNWIND statt einzelner Anweisungen verwenden - 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.

Batch-Eingaben UNWIND statt einzelner Anweisungen verwenden

Wenn dieselbe Abfrage für verschiedene Eingaben ausgeführt werden muss, wäre es viel leistungsfähiger, eine Abfrage für einen Stapel von Eingaben auszuführen, anstatt eine Abfrage pro Eingabe auszuführen.

Wenn Sie auf einer Gruppe von Knoten zusammenführen möchten, besteht eine Option darin, eine Zusammenführungsabfrage pro Eingabe auszuführen:

MERGE (n:Person {`~id`: $id}) SET n.name = $name, n.age = $age, n.employer = $employer

Mit Parametern:

params = {id: '1', name: 'john', age: 25, employer: 'Amazon'}

Die obige Abfrage muss für jede Eingabe ausgeführt werden. Dieser Ansatz funktioniert zwar, erfordert jedoch möglicherweise die Ausführung vieler Abfragen für einen großen Satz von Eingaben. In diesem Szenario kann Batching dazu beitragen, die Anzahl der auf dem Server ausgeführten Abfragen zu reduzieren und den Gesamtdurchsatz zu verbessern.

Verwenden Sie das folgende Muster:

UNWIND $persons as person MERGE (n:Person {`~id`: person.id}) SET n += person

Mit Parametern:

params = {persons: [{id: '1', name: 'john', age: 25, employer: 'Amazon'}, {id: '2', name: 'jack', age: 28, employer: 'Amazon'}, {id: '3', name: 'alice', age: 24, employer: 'Amazon'}...]}

Es wird empfohlen, mit verschiedenen Chargengrößen zu experimentieren, um herauszufinden, was für Ihren Workload am besten geeignet ist.