Gunakan peta yang diratakan alih-alih peta bersarang dalam klausa UNWIND - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan peta yang diratakan alih-alih peta bersarang dalam klausa UNWIND

Struktur bersarang dalam dapat membatasi kemampuan mesin kueri untuk menghasilkan rencana kueri yang optimal. Untuk mengatasi sebagian masalah ini, pola yang ditentukan berikut akan membuat rencana optimal untuk skenario berikut:

  • Skenario 1: UNWIND dengan daftar literal cypher, yang meliputiNUMBER, dan. STRING BOOLEAN

  • Skenario 2: UNWIND dengan daftar peta yang diratakan, yang hanya mencakup literal cypher (NUMBER,,STRING) sebagai nilai. BOOLEAN

Saat menulis kueri yang berisi UNWIND klausa, gunakan rekomendasi di atas untuk meningkatkan kinerja.

Contoh skenario 1:

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

Dengan parameter:

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

Contoh untuk Skenario 2 adalah untuk menghasilkan daftar node ke CREATE atauMERGE. Alih-alih mengeluarkan beberapa pernyataan, gunakan pola berikut untuk mendefinisikan properti sebagai sekumpulan peta yang diratakan:

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

Dengan parameter:

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

Alih-alih objek simpul bersarang seperti:

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

Dengan parameter:

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