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à.
Inserisci filtri restrittivi il più presto possibile nella query
In tutti gli scenari, l'inserimento precoce dei filtri nella query aiuta a ridurre le soluzioni intermedie che un piano di interrogazione deve prendere in considerazione. Ciò significa che sono necessarie meno memoria e meno risorse di calcolo per eseguire la query.
L'esempio seguente ti aiuta a comprendere questi impatti. Supponiamo di scrivere una query per restituire tutte le persone che vivono inIndia. Una versione della query potrebbe essere:
MATCH (n)-[:lives_in]->(city)-[:part_of]->(country) WITH country, collect(n.firstName + " " + n.lastName) AS result WHERE country.name = 'India' RETURN result
La versione precedente della query non è il modo migliore per ottenere questo caso d'uso. Il filtro country.name = 'India' viene visualizzato più avanti nel modello di interrogazione. Innanzitutto raccoglierà tutte le persone e il luogo in cui vivono, e le raggrupperà per paese, quindi filtrerà solo per il gruppo dicountry.name = India. Il modo ottimale per interrogare solo le persone che vivono India e quindi eseguire l'aggregazione della raccolta.
MATCH (n)-[:lives_in]->(city)-[:part_of]->(country) WHERE country.name = 'India' RETURN collect(n.firstName + " " + n.lastName) AS result
Una regola generale è inserire un filtro il prima possibile dopo l'introduzione della variabile.