Realización de cálculos estáticos fuera de la consulta
Se recomienda resolver los cálculos estáticos (operaciones matemáticas / de cadenas simples) en el cliente. Considere este ejemplo en el que se desea encontrar a todas las personas que son un año mayor o menor que el autor:
MATCH (m:Message)-[:HAS_CREATOR]->(p:person) WHERE p.age <= ($age + 1) RETURN m
En este caso, $age se inserta en la consulta mediante parámetros y, a continuación, se añade a un valor fijo. A continuación, este valor se compara con p.age. En cambio, un mejor enfoque sería realizar la suma en el cliente y pasar el valor calculado como parámetro $ageplusone. Así, el motor de consultas puede crear planes optimizados y se evita el cálculo estático por cada fila entrante. Si se siguen estas pautas, una versión más eficiente de la consulta sería:
MATCH (m:Message)-[:HAS_CREATOR]->(p:person) WHERE p.age <= $ageplusone RETURN m