View a markdown version of this page

Hindari MENGUMPULKAN (DISTINCT ()) - Amazon Neptune

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

Hindari MENGUMPULKAN (DISTINCT ())

catatan

Pada versi mesin 1.4.7.0, penulisan ulang yang disarankan ini tidak lagi diperlukan.

COLLECT (DISTINCT ()) digunakan setiap kali daftar akan dibentuk yang berisi nilai-nilai yang berbeda. COLLECT adalah fungsi agregasi, dan pengelompokan dilakukan berdasarkan kunci tambahan yang diproyeksikan dalam pernyataan yang sama. Ketika berbeda digunakan, input dibagi menjadi beberapa potongan di mana setiap potongan menunjukkan satu grup untuk reduksi. Kinerja akan terpengaruh karena jumlah kelompok meningkat. Di Neptunus, jauh lebih efisien untuk melakukan DISTINCT sebelum benar-benar collecting/forming daftar. Hal ini memungkinkan pengelompokan dilakukan langsung pada kunci pengelompokan untuk seluruh potongan.

Pertimbangkan kueri berikut:

MATCH (n:Person)-[:commented_on]->(p:Post) WITH n, collect(distinct(p.post_id)) as post_list RETURN n, post_list

Cara yang lebih optimal untuk menulis kueri ini adalah:

MATCH (n:Person)-[:commented_on]->(p:Post) WITH DISTINCT n, p.post_id as postId WITH n, collect(postId) as post_list RETURN n, post_list