在参加了一个非常有趣的以 Cypher 为重点的教程之后,我对 Cypher 查询语言的声明性感到惊喜。在我看来,这是从 Neo4J 中检索数据的一种非常自然的方式。
在此之前,我只使用过原生 API。虽然这不是声明性的,但你会在一段时间后习惯它。复杂的结构都非常相似,仅在我的特定项目的细节上有所不同。
尽管如此,Cypher 对我来说看起来更自然,所以我正在考虑构建我的应用程序的第二个版本,主要使用 Cypher 查询来与我的数据库进行交互。但是我遇到了一个问题。
有很多方法可以将我的应用程序转换为 Cypher,在尝试了几个可能的查询后,所有查询都得到了预期的结果,看起来即使是最快的查询仍然比原生 API 慢大约 20 倍。
现在,我不介意为了声明性而放弃一些性能,但是在一个已经在性能上苦苦挣扎的应用程序中,20 倍对我来说有点过分了。是否有解决此问题的方法,还是我只需要坚持使用本机 API?