【问题标题】:Spring Data Neo4j: why save method takes so long?Spring Data Neo4j:为什么保存方法需要这么长时间?
【发布时间】:2013-04-05 19:39:55
【问题描述】:

我在我的项目中使用 Spring Data Neo4j,我注意到在保存我的节点实体类 (>300ms/node) 时花费了太多时间,这实际上非常简单(它们只包含一个属性,一个简单的长身份证)。节点之间的关系也很简单(我只是想代表一个社交网络)。其余的,我使用密码查询,而且时间要快得多并且可以接受(~3-30ms)。

事实证明这是一个大问题,因为我的项目的一个基本部分是填充图表,然后才“触发”查询。任何建议可能是什么原因?我使用的 Spring Data Neo4j 版本是 2.1.0.RELEASE,我使用的是存储库方法。

提前谢谢你!

【问题讨论】:

  • 我终于解决了这个问题。来自存储库的每个保存调用都会引入巨大的开销,因为它被视为单个事务,如下所述:stackoverflow.com/questions/9568203/…。通过使用 Neo4j-Core API,执行时间大大缩短,满足了我的应用需求!

标签: neo4j spring-data-neo4j


【解决方案1】:

这取决于您使用的映射模式,简单映射要慢得多,因为它必须将您的对象图合并回 Neo4j。高级映射要快得多,因为它是 Neo4j 之上的一个薄层(读取和写入)。

无论如何,您都应该在更高级别上创建跨越业务运营的事务。

【讨论】:

    猜你喜欢
    • 2013-05-24
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 2011-08-27
    • 2011-12-07
    相关资源
    最近更新 更多