Masukan batch menggunakan UNWIND bukan pernyataan individual - Amazon Neptune

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

Masukan batch menggunakan UNWIND bukan pernyataan individual

Setiap kali kueri yang sama perlu dijalankan untuk input yang berbeda, alih-alih mengeksekusi satu kueri per input, akan jauh lebih berkinerja untuk menjalankan kueri untuk sekumpulan input.

Jika Anda ingin menggabungkan pada satu set node, salah satu opsi adalah menjalankan kueri gabungan per input:

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

Dengan parameter:

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

Query di atas perlu dieksekusi untuk setiap input. Meskipun pendekatan ini berhasil, mungkin memerlukan banyak kueri untuk dieksekusi untuk satu set input yang besar. Dalam skenario ini, batching dapat membantu mengurangi jumlah kueri yang dieksekusi di server, serta meningkatkan keseluruhan throughput.

Gunakan pola berikut:

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

Dengan parameter:

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'}...]}

Eksperimen dengan ukuran batch yang berbeda disarankan untuk menentukan apa yang terbaik untuk beban kerja Anda.