View a markdown version of this page

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

La struttura Deep Nested può limitare la capacità del motore di interrogazione di generare un piano di interrogazione ottimale. Per alleviare parzialmente questo problema, i seguenti modelli 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 scrivi una query contenente la clausola UNWIND, utilizza il consiglio 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 il seguente schema 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 a nodi 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"}} ] }