使用参数化查询
建议在使用 openCypher 进行查询时始终使用参数化查询。查询引擎可以利用重复的参数化查询来实现查询计划缓存等特征,在这些特征中,重复调用具有不同参数的相同参数化结构可以利用缓存的计划。为参数化查询生成的查询计划只有在 100 ms 内完成且参数类型为 NUMBER、BOOLEAN 或 STRING 时才会被缓存和重复使用。
使用:
MATCH (n:foo) WHERE id(n) = $id RETURN n
参数为:
parameters={"id": "first"} parameters={"id": "second"} parameters={"id": "third"}
而不是:
MATCH (n:foo) WHERE id(n) = "first" RETURN n MATCH (n:foo) WHERE id(n) = "second" RETURN n MATCH (n:foo) WHERE id(n) = "third" RETURN n