Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Evita COLLECT (DISTINCT())
COLLECT(DISTINCT()) viene utilizzato ogni volta che si deve formare una lista contenente valori distinti. COLLECTè una funzione di aggregazione e il raggruppamento viene eseguito in base a chiavi aggiuntive proiettate nella stessa istruzione. Quando viene utilizzato distinct, l'input viene suddiviso in più blocchi in cui ogni blocco indica un gruppo da ridurre. Le prestazioni saranno influenzate dall'aumento del numero di gruppi. In Neptune, è molto più efficiente DISTINCT eseguire prima di raccogliere/formare effettivamente l'elenco. Ciò consente di eseguire il raggruppamento direttamente sulle chiavi di raggruppamento per l'intero blocco.
Considera la query seguente:
MATCH (n:Person)-[:commented_on]->(p:Post) WITH n, collect(distinct(p.post_id)) as post_list RETURN n, post_list
Un modo più ottimale per scrivere questa query è:
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