Hindari melakukan perhitungan ~id dalam kueri - Amazon Neptune

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

Hindari melakukan perhitungan ~id dalam kueri

Saat menggunakan kustom IDs dalam kueri, selalu lakukan perhitungan statis di luar kueri dan berikan nilai ini dalam parameter. Ketika nilai statis disediakan, mesin lebih mampu mengoptimalkan pencarian dan menghindari pemindaian dan pemfilteran nilai-nilai ini.

Jika Anda ingin membuat tepi antara node yang ada di database, salah satu opsi dapat berupa:

UNWIND $sections as section MATCH (s:Section {`~id`: 'Sec-' + section.id}) MERGE (s)-[:IS_PART_OF]->(g:Group {`~id`: 'g1'})

Dengan parameter:

parameters={sections: [{id: '1'}, {id: '2'}]}

Dalam kueri di atas, id bagian sedang dihitung dalam kueri. Karena perhitungannya dinamis, mesin tidak dapat secara statis inline id dan akhirnya memindai semua node bagian. Mesin kemudian melakukan post-filtering untuk node yang diperlukan. Ini bisa mahal jika ada banyak node bagian dalam database.

Cara yang lebih baik untuk mencapai ini adalah Sec- dengan menambahkan id yang diteruskan ke database:

UNWIND $sections as section MATCH (s:Section {`~id`: section.id}) MERGE (s)-[:IS_PART_OF]->(g:Group {`~id`: 'g1'})

Dengan parameter:

parameters={sections: [{id: 'Sec-1'}, {id: 'Sec-2'}]}