Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
COLLECT (DISTINCT ()) digunakan setiap kali daftar akan dibentuk 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 kelompok untuk reduksi. Kinerja akan terpengaruh karena jumlah kelompok meningkat. Di Neptunus, jauh lebih efisien untuk melakukan DISTINCT sebelum benar-benar mengumpulkan/membentuk 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