View a markdown version of this page

Masukan batch menggunakan UNWIND alih-alih 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 alih-alih pernyataan individual

Setiap kali kueri yang sama perlu dieksekusi untuk input yang berbeda, alih-alih menjalankan satu kueri per input, akan jauh lebih berkinerja untuk menjalankan kueri untuk kumpulan 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'}

Kueri di atas perlu dieksekusi untuk setiap input. Meskipun pendekatan ini berfungsi, 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 throughput keseluruhan.

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 paling cocok untuk beban kerja Anda.