

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Platzieren Sie restriktive Filter so früh wie möglich in der Abfrage
Restriktive Filter

 In allen Szenarien trägt die frühzeitige Platzierung von Filtern in der Abfrage dazu bei, die Anzahl der Zwischenlösungen zu reduzieren, die ein Abfrageplan berücksichtigen muss. Das bedeutet, dass weniger Speicher und weniger Rechenressourcen für die Ausführung der Abfrage benötigt werden. 

 Das folgende Beispiel hilft Ihnen, diese Auswirkungen zu verstehen. Angenommen, Sie schreiben eine Abfrage, um alle Personen zurückzugeben, die in`India`. Eine Version der Abfrage könnte sein: 

```
MATCH (n)-[:lives_in]->(city)-[:part_of]->(country)
WITH country, collect(n.firstName + " "  + n.lastName) AS result
WHERE country.name = 'India'
RETURN result
```

 Die obige Version der Abfrage ist nicht der optimale Weg, um diesen Anwendungsfall zu erreichen. Der Filter `country.name = 'India'` erscheint später im Abfragemuster. Er erfasst zunächst alle Personen und ihren Wohnort und gruppiert sie nach Ländern. Anschließend wird nur nach der Gruppe für gefiltert`country.name = India`. Die optimale Methode, nur nach Personen abzufragen, die in diesem Land leben, `India` und dann die Sammelaggregation durchzuführen. 

```
MATCH (n)-[:lives_in]->(city)-[:part_of]->(country)
WHERE country.name = 'India'
RETURN collect(n.firstName + " "  + n.lastName) AS result
```

 Eine allgemeine Regel besteht darin, einen Filter so bald wie möglich nach der Einführung der Variablen zu platzieren. 