Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Inserción de filtros restrictivos lo antes posible en la consulta
Siempre que sea posible, coloque los filtros al principio de la consulta, ya que esto ayuda a reducir las soluciones intermedias que debe considerar un plan de consulta. De este modo, se necesitará menos memoria y menos recursos de computación para ejecutar la consulta.
El siguiente ejemplo le ayudará a comprender estas repercusiones. Supongamos que escribe una consulta para obtener todas las personas que viven en India. Una versión de la consulta podría ser:
MATCH (n)-[:lives_in]->(city)-[:part_of]->(country) WITH country, collect(n.firstName + " " + n.lastName) AS result WHERE country.name = 'India' RETURN result
La versión anterior de la consulta no es la forma más óptima de lograr este caso de uso. El filtro country.name = 'India' aparece más adelante en el patrón de consulta. Primero recopilará todas las personas y su lugar de residencia, las agrupará por país y, a continuación, filtrará solo por el grupo correspondiente a country.name = India. La forma más óptima es consultar solo las personas que viven en India y, a continuación, realizar la agregación de recopilación.
MATCH (n)-[:lives_in]->(city)-[:part_of]->(country) WHERE country.name = 'India' RETURN collect(n.firstName + " " + n.lastName) AS result
Por regla general, se debe colocar el filtro lo antes posible después de introducir la variable.