Usa mappe appiattite anziché mappe annidate nella clausola UNWIND - Amazon Neptune

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Usa mappe appiattite anziché mappe annidate nella clausola UNWIND

Una struttura profondamente annidata può limitare la capacità del motore di query di generare un piano di query ottimale. Per alleviare parzialmente questo problema, i seguenti schemi definiti creeranno piani ottimali per i seguenti scenari:

  • Scenario 1: UNWIND con un elenco di valori letterali cifrati, che include NUMBER, STRING e BOOLEAN.

  • Scenario 2: UNWIND con un elenco di mappe appiattite, che include solo valori letterali cifrati (NUMBER, STRING, BOOLEAN).

Quando si scrive una query contenente la clausola UNWIND, utilizzare la raccomandazione precedente per migliorare le prestazioni.

Esempio di scenario 1:

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

Con parametri:

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

Un esempio per lo Scenario 2 consiste nel generare un elenco di nodi da CREARE o UNIRE. Invece di emettere più istruzioni, utilizzate lo schema seguente per definire le proprietà come un insieme di mappe appiattite:

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

Con parametri:

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

Invece di oggetti nodali annidati come:

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

Con parametri:

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